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 1537, Tue Jul 13 18:49:54 2004 UTC revision 1760, Fri Feb 25 20:46:23 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/25 14:50:00 CST
18    Tag: blume-20050225-susp
19    Description:
20    
21    Brought back SMLofNJ.Susp.  The underlying suspension type is the one
22    implemented in Core -- which means that it is the same as the one used
23    by the lazy extension.
24    
25    ----------------------------------------------------------------------
26    Name: Matthias Blume (blume (at) tti - c (dot) org)
27    Date: 2005/02/24 16:50:00 CST
28    Tag: blume-20050224-cml-atom
29    Description:
30    
31    Simpler and at the same time more general implementation of structure
32    Atom in CML.
33    
34    ----------------------------------------------------------------------
35    Name: Matthias Blume (blume (at) tti - c (dot) org)
36    Date: 2005/02/15 17:35:00 CST
37    Tag: blume-20050215-tools
38    Description:
39    
40    Created new "tools" directory under "src" and moved "TraceDebugProf"
41    there.
42    
43    ----------------------------------------------------------------------
44    Name: Matthias Blume (blume (at) tti - c (dot) org)
45    Date: 2005/02/10 17:55:00 CST
46    Tag: blume-20050210-longlong
47    Description:
48    
49    Implemented "long long" arguments and results for NLFFI.  (Only the
50    PPC/MacOS implementation is complete, the other backends still need to
51    be updated.)
52    
53    ----------------------------------------------------------------------
54    Name: Matthias Blume (blume (at) tti - c (dot) org)
55    Date: 2005/01/24 17:40:00 CST
56    Tag: blume-20050124-mlyacc
57    Description:
58    
59    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
60    problem with certain "as" patterns which previously got rendered
61    using incorrect syntax.
62    
63    ----------------------------------------------------------------------
64    Name: Matthias Blume (blume (at) tti - c (dot) org)
65    Date: 2005/01/18 12:00:00 CST
66    Tag: blume-20050118-profile
67    Description:
68    
69    Made time profiling code (interrupt handler) in runtime system aware
70    of new array representation.
71    
72    ----------------------------------------------------------------------
73    Name: Matthias Blume (blume (at) tti - c (dot) org)
74    Date: 2005/01/14 18:00:00 CST
75    Tag: blume-20050114-heap2exec
76    Description:
77    
78    Implemented new (but still experimental) heap2exec facility.  This is
79    tested under Mac OS X and should work under Linux (will test shortly).
80    It will probably also work on the Sparc (will test some time later).
81    
82      - removed old "HACKED_STANDALONE" hack from runtime
83    
84    To be able to test this, uncomment the request for "heap2asm" in
85    config/targets prior to installation.  (Notice that this is different
86    from "heap2exec" mentioned below.  Not a typo.)
87    
88    To perform an actual test, run the command
89    
90       $ bin/heap2exec heapfile execfile
91    
92    (You can put heap2exec on your shell's path.)
93    
94    For example, run
95    
96      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
97    
98    This will create a standalone executable called "mly" which you can
99    then invoke directly as a command.
100    
101    ----------------------------------------------------------------------
102    Name: Matthias Blume (blume (at) tti - c (dot) org)
103    Date: 2005/01/07 11:44:00 CST
104    Tag: blume-20050107-mlstring
105    Description:
106    
107    fixed off-by-one error in ML_STRING macro (globals.c)
108    
109    ----------------------------------------------------------------------
110    Name: Matthias Blume (blume (at) tti - c (dot) org)
111    Date: 2004/12/23 18:00:00 CST
112    Tag: blume-20041223-santa
113    Description:
114    
115    Made ml-build script "smarter" (but only very little).
116    
117    ----------------------------------------------------------------------
118    Name: Matthias Blume (blume (at) tti - c (dot) org)
119    Date: 2004/12/21 15:05:00 CST
120    Tag: blume-20041221-longlong
121    Description:
122    
123    * Implemented access to signed and unsigned long long data in NLFFI.
124    (The parameter-passing part of the picture has not complete. But
125    data structure access seems to work.)
126    
127    * Fixed CM's incorrect assumption that the PPC is little-endian.
128      (On the Mac, it is big-endian.  And that's currently our only
129      PPC platform.)
130    
131    ----------------------------------------------------------------------
132    Name: Matthias Blume (blume (at) tti - c (dot) org)
133    Date: 2004/12/21 12:50:00 CST
134    Tag: blume-20041221-memory
135    Description:
136    
137    Some cleanup in the $c/memory.cm library: separated some concerns by
138    moving allocation code and memory access code each into their own
139    files.
140    
141    ----------------------------------------------------------------------
142    Name: Allen Leung (leunga (at) reservoir (dot) com)
143    Date: 2004/12/17 16:12:00 EST
144    Tag: leunga-20041217-cygwin-smlnj-home
145    Description:
146    
147        The Unix I/O library of SML/NJ on cygwin does not understand
148    Windows style pathname, so problems arise when SMLNJ_HOME is set
149    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
150    to a POSIX pathname on cygwin.
151    
152    ----------------------------------------------------------------------
153    Name: Matthias Blume (blume (at) tti - c (dot) org)
154    Date: 2004/12/16 13:35:00 CST
155    Tag: Release_110_52
156    Description:
157    
158    Last-minute changes incorporated into 110.52.  Release tag moved.
159    
160    The changes:
161       - HashString.hashString' -> HashString.hashSubstring
162       - bug fix in UnivariateStats
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume (blume (at) tti - c (dot) org)
166    Date: 2004/12/15 23:40:00 CST
167    Tag: blume-20041215-hashSubstring
168    Description:
169    
170    - HashString.hashString' -> HashString.hashSubstring
171    - corresponding changes in atom.sml
172    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
173      added some comments
174    
175    ----------------------------------------------------------------------
176    Name: Matthias Blume (blume (at) tti - c (dot) org)
177    Date: 2004/12/15 15:30:00 CST
178    Tag: (Release_110_52)
179    Description:
180    
181    New working version (110.52).  NEW BOOTFILES!
182    
183    ----------------------------------------------------------------------
184    Name: Matthias Blume (blume (at) tti - c (dot) org)
185    Date: 2004/12/15 12:45:00 CST
186    Tag: blume-20041215-spaces
187    Description:
188    
189    More on the space problem (this time for Win32).
190    
191    ----------------------------------------------------------------------
192    Name: Matthias Blume (blume (at) tti - c (dot) org)
193    Date: 2004/12/14 17:30:00 CST
194    Tag: blume-20041214-spaces
195    Description:
196    
197    Hacked some of the scripts (in particular: the installer) to cope with
198    spaces in filenames a bit better.  But beware: the current "solution"
199    is likely still full of bugs and inherently incomplete.  (We need to
200    do away with those shell scripts for a comprehensive solution.)
201    
202    ----------------------------------------------------------------------
203    Name: Matthias Blume (blume (at) tti - c (dot) org)
204    Date: 2004/12/13 14:45:00 CST
205    Tag: blume-20041213-ml-makedepend
206    Description:
207    
208    Fixed bug in code for ml-makedepend.
209    
210    ----------------------------------------------------------------------
211    Name: Matthias Blume (blume (at) tti - c (dot) org)
212    Date: 2004/12/09 16:30:00 CST
213    Tag: blume-20041209-statistics
214    Description:
215    
216    Added two simple but potentially useful statistics modules to SML/NJ Library.
217    (See CHANGES file there.)
218    
219    ----------------------------------------------------------------------
220    Name: Matthias Blume (blume (at) tti - c (dot) org)
221    Date: 2004/12/01 16:50:00 CST
222    Tag: blume-20041201-atom
223    Description:
224    
225    smlnj-lib:
226    
227      Added function HashString.hashString' for substrings.
228      Hand-inlined CharVector.foldl into HashString (for speed).
229      Modified implementation of structure Atom to avoid extracting
230      strings from substrings unless necessary.
231      (Also see CHANGES file for smlnj-lib.)
232    
233    ----------------------------------------------------------------------
234    Name: Matthias Blume (blume (at) tti - c (dot) org)
235    Date: 2004/11/24 22:15:00 CST
236    Tag: blume-20041124-cml
237    Description:
238    
239    Made sure CML compiles when Position = Int64.
240    
241    ----------------------------------------------------------------------
242    Name: Matthias Blume (blume (at) tti - c (dot) org)
243    Date: 2004/11/24 14:30:00 CST
244    Tag: blume-20041124-position
245    Description:
246    
247    The compiler can now be compiled in a mode that makes structure Position
248    equal to Int64.  The default, however, is unchanged (Position = Int31)
249    for the time being.
250    
251    To enable 64-bit positions, use the following procedure:
252    
253    1. Start sml
254    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
255    3. Type
256          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
257    4. Run CMB.make() as usual.
258    
259    This is barely tested.  The only test so far was a little SML program
260    counting the number of characters in an 8-gigabyte file by
261    reading it character-by-character.  That test was successful.
262    
263    In support of 64-bit positions, a number of new functions have been
264    added to the runtime system.
265    
266    ----------------------------------------------------------------------
267    Name: Matthias Blume (blume (at) tti - c (dot) org)
268    Date: 2004/11/23 14:45:00 CST
269    Tag: blume-20041123-useFile
270    Description:
271    
272    Fixed a problem with unhelpful error messages related to problems with
273    .cm- or .sml files that appear as part of the sml command line.
274    
275    ----------------------------------------------------------------------
276    Name: Matthias Blume (blume (at) tti - c (dot) org)
277    Date: 2004/11/18 15:40:00 CST
278    Tag: Release_110_51
279    Description:
280    
281    New working version (110.51).  NEW BOOTFILES!
282    
283    ----------------------------------------------------------------------
284    Name: Matthias Blume (blume (at) tti - c (dot) org)
285    Date: 2004/11/18 15:35:00 CST
286    Tag: <none>
287    Description:
288    
289    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
290    Joemann).
291    
292    ----------------------------------------------------------------------
293    Name: Allen Leung (leunga (at) reservoir (dot) com)
294    Date: 2004/11/17 16:05:21 EST 2004
295    Tag: leunga-20041117-mlrisc-live-kill
296    Description:
297    
298       Added support for MLTree constructs LIVE and KILL
299    to all the architectures.
300    
301    ----------------------------------------------------------------------
302    Name: Matthias Blume (blume (at) tti - c (dot) org)
303    Date: 2004/11/13 00:20:00 CST
304    Tag: blume-20041113-versiontool
305    Description:
306    
307    - Stripped down the versiontool: It now only handles the version number.
308      The date string is generated at bootstrap time (during makeml).
309    
310    - In a previous commit, fixed a minor issue with how polyequal is being
311      translated.  In particular, the code now "looks through" abstractions.
312      This results in slightly fewer polyEqual warnings and hopefully slightly
313      more efficient code.  Important examples for where this matters are
314      the new int64 and word64 types.
315    
316    ----------------------------------------------------------------------
317    Name: Matthias Blume (blume (at) tti - c (dot) org)
318    Date: 2004/11/12 00:30:00 CST
319    Tag: blume-20041112-int64
320    Description:
321    
322    Structure Int64 fully hooked in.  (The implementation is not very
323    efficient, though.)
324    
325    ----------------------------------------------------------------------
326    Name: Matthias Blume (blume (at) tti - c (dot) org)
327    Date: 2004/11/11 17:30:00 CST
328    Tag: blume-20041111-more64
329    Description:
330    
331    All the pieces of Word64 are now there, with the exception of the
332    conversions from and to LargeWord. (Eventually these need to be identities,
333    but for the time being they don't even make sense because LargeWord is
334    32-bit wide.)
335    
336    Also started to add similar support for Int64, but major pieces of that
337    are still missing.
338    
339    ----------------------------------------------------------------------
340    Name: Matthias Blume (blume (at) tti - c (dot) org)
341    Date: 2004/11/11 00:15:00 CST
342    Tag: blume-20041111-word64
343    Description:
344    
345    Structure Word64 is now (almost) complete, word literals and patterns
346    seem to work.  There are a few odd pieces missing.  In particular,
347    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
348    at the moment.
349    
350    Making Word64 official would mean that LargeWord becomes Word64.  But
351    this requires extreme care because most word-word conversions have to
352    go through LargeWord, so making a mistake means loss of efficiency or
353    worse.  Eventually there will be a solution similar to (but actually
354    simpler than) what I did with IntInf.
355    
356    ----------------------------------------------------------------------
357    Name: Matthias Blume (blume (at) tti - c (dot) org)
358    Date: 2004/11/10 18:12:00 CST
359    Tag: blume-20041110-64bit
360    Description:
361    
362    More 64-bit hacking (but still not even half-way there yet).
363    Also, some assorted improvements to the handling of 8-bit words.
364    
365    ----------------------------------------------------------------------
366    Name: Matthias Blume (blume (at) tti - c (dot) org)
367    Date: 2004/11/09 17:50:00 CST
368    Tag: <none>
369    Description:
370    
371    Started adding some infrastructure for supporting 64-bit int- and
372    word-types.  (Still in its very early stages.)
373    
374    ----------------------------------------------------------------------
375    Name: Matthias Blume (blume (at) tti - c (dot) org)
376    Date: 2004/10/28 10:45:00 CDT
377    Tag: Release_110_50
378    Description:
379    
380    New working version (110.50).  NEW BOOTFILES!
381    
382                 =====================
383    
384    Also:
385    
386      - Changend config/srcarchiveurl from a file just
387        containing the URL string into a file containing
388        shell script code.  The code has access to the $VERSION variable.
389      - Made corresponding changes to config/install.sh and config/unpack.
390      - Default contents of config/srcarchiveurl uses $VERSION and
391        normally does not have to be edited to reflect a version change.
392    
393      (As a result, a version change can be done by just editing
394       config/version, the rest is now automatic.)
395    
396    ----------------------------------------------------------------------
397    Name: Matthias Blume (blume (at) tti - c (dot) org)
398    Date: 2004/10/27 17:50:00 CDT
399    Tag: blume-20041027-btrace-msg
400    Description:
401    
402    BackTrace.monitor now also reports the source of the exception that
403    triggered the trace.
404    
405    ----------------------------------------------------------------------
406    Name: Matthias Blume (blume (at) tti - c (dot) org)
407    Date: 2004/10/27 17:20:00 CDT
408    Tag: blume-20041027-x86-c-calls
409    Description:
410    
411    This is the HISTORY entry for two earlier commits, both concerning
412    the x86 c-calls code in MLRISC:
413    
414      - added a missing LOAD in the code that deals with struct arguments
415      - made sure the caller does not add the wrong number of bytes to the
416        stack pointer after a call of a function returning a struct
417        (the callee already pops the implicit argument which points to
418         the space reserved for the result)
419    
420    ----------------------------------------------------------------------
421    Name: Allen Leung (leunga (at) reservoir (dot) com)
422    Date: 2004/10/24 14:00:00 EST
423    Tag: leunga-20041024-x86-gas-fucomip
424    Description:
425    
426       John discovered a bug in the syntax of fucomip.
427       The opcodes FU?COMIP? have been changed to
428    
429           fu?comip? %st(i), %st
430    
431    ----------------------------------------------------------------------
432    Name: Matthias Blume (blume (at) tti - c (dot) org)
433    Date: 2004/10/20 15:06:00 CDT
434    Tag: blume-20041020-standalone-backtrace
435    Description:
436    
437    Added a mechanism for getting back-trace information from standalone
438    programs.  Here is how it works:
439    
440       1. The part of the program from which you want to get backtrace
441          information (usually the whole program) should be wrapped with
442          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
443          main program could be modified from something like
444    
445             fun main (pgm, args) = ...
446    
447         to
448    
449            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
450    
451       2. To be able to access BackTrace.monitor, you have to add
452          library $smlnj-tdp/plugins.cm to the .cm file that contains your
453          main function.
454    
455       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
456          CM might have created in the past for your project).
457    
458       4. Build the system using this command line:
459    
460             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
461                      myprog.cm MyProg.main myprog
462    
463          instead of the usual
464    
465             ml-build myprog.cm MyProg.main myprog
466    
467    I changed a library name:
468    
469       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
470    
471    New libraries:
472    
473       $smlnj-tdp/back-trace.cm
474          -- when loaded causes the back-trace plugin to be installed
475       $smlnj-tdp/coverage.cm
476          -- when loaded causes the coverage plugin to be installed
477    
478    ----------------------------------------------------------------------
479    Name: Matthias Blume (blume (at) tti - c (dot) org)
480    Date: 2004/10/18 16:45:00 CDT
481    Tag: blume-20041018-groupowner
482    Description:
483    
484    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
485    
486    Eliminated group owner specs from .cm files throughout the source tree.
487    
488    ----------------------------------------------------------------------
489    Name: Matthias Blume (blume (at) tti - c (dot) org)
490    Date: 2004/10/15 15:45:00 CDT
491    Tag: blume-20041015-coverage
492    Description:
493    
494    * Test coverage tool added!
495    * Further reorganization of tracing-, debugging-, and profiling support:
496    
497        - moved original BTImp -- now called BackTrace -- into a separate
498          library called $/trace-debug-profile.cm
499        - eliminated all mentions of BTrace from SMLofNJ.Internals
500        - only the instrumentation mechanism is now left in the compiler proper
501        - BackTrace module is a plugin which is NOT plugged in by default
502        - Coverage module is another such plugin
503    
504    To get the benefits of any of these plugin modules, the code in
505    question must be compiled with tdp instrumentation turned on.  This
506    can be done by setting SMLofNJ.Internals.TDP.mode to true.
507    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
508    
509    Plugins are selected at link time.  (Pre-compiled instrumented code
510    can be re-loaded with different plugins in effect.)  When an
511    instrumented module is linked, whatever plugins are at that time
512    enabled will come into effect for that module.
513    
514    To enable the back-trace plugin, load library $/trace-debug-profile.cm
515    and invoke BackTrace.install() (e.g., from the interactive prompt).
516    To enable the coverage plugin, load the same library and invoke
517    Coverage.install().
518    
519    Back-traces are generated automatically on uncaught exceptions and
520    when the code in question explicitly invokes BackTrace.trigger().
521    
522    Coverage (and execution frequency-) information must be queried
523    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
524    
525    ----------------------------------------------------------------------
526    Name: Matthias Blume (blume (at) tti - c (dot) org)
527    Date: 2004/10/14 17:40:00 CDT
528    Tag: blume-20041014-tdp-core
529    Description:
530    
531    Snapshot of a significant overhaul of how the trace/debug/profile support
532    is hooked into the system (specifically: Core and SMLofNJ.Internals).
533    
534    ----------------------------------------------------------------------
535    Name: Matthias Blume (blume (at) tti - c (dot) org)
536    Date: 2004/10/13 16:34:00 CDT
537    Tag: blume-20041013-tdp
538    Description:
539    
540    Some rationalization of names:
541    
542       structure BTrace -> structure TDPInstrument
543       etc.
544    
545    This is is preparation of using the original back-trace
546    instrumentation for other purposes.  "TDP" stands for
547    Trace/Debug/Profile.
548    
549    The control flag controlling whether instrumentation is on or off is now
550    registered under a different name, so instead of running sml as
551    
552     sml -Cinstrument.btrace-mode=true
553    
554    one has to say
555    
556     sml -Ctdp.instrument=true
557    
558    ----------------------------------------------------------------------
559    Name: Matthias Blume (blume (at) tti - c (dot) org)
560    Date: 2004/10/11 16:37:00 CDT
561    Tag: blume-20041011-regions
562    Description:
563    
564    Made some minor modifications to elabcore.sml to have source regions
565    be propagated more tightly -- resulting in better (i.e., smaller)
566    regions being reported in error- and debug messages.
567    
568    ----------------------------------------------------------------------
569    Name: Matthias Blume (blume (at) tti - c (dot) org)
570    Date: 2004/10/08 22:50:00 CDT
571    Tag: blume-20041008-cmkw
572    Description:
573    
574    Fixed handling of keywords in .cm files: After seeing "is" the lexer
575    treats subsequent occurrences of "group", "library", "source", "is",
576    "*", and "-" as ordinary identifiers rather than keywords.
577    
578    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
579    is supposed to accept a tool argument called "source", but this did
580    not work because of the clash with the keyword.
581    
582    ----------------------------------------------------------------------
583    Name: Matthias Blume (blume (at) tti - c (dot) org)
584    Date: 2004/10/07 16:00:00 CDT
585    Tag: blume-20041007-cleanup
586    Description:
587    
588    Assorted cleanup work:
589    
590      - got rid of intstrmap in favor of using the library's
591        hash table implementation
592      - threw out most of the pathnames stuff, as it was not used anyway
593      - simplified tokentable implementation
594      - fixed some minor spelling errors
595    
596    ----------------------------------------------------------------------
597    Name: Matthias Blume (blume (at) tti - c (dot) org)
598    Date: 2004/10/06 15:15:15 CDT
599    Tag: blume-20041006-handler
600    Description:
601    
602    Cleaned up the absyn to reflect the invariant that HANDLE always
603    carries a FNexp as part of the type definition.  This eliminates some
604    superfluous sanity checks at runtime down the road.
605    
606    Some minor cleanup of the btrace code.
607    
608    ----------------------------------------------------------------------
609    Name: Matthias Blume (blume (at) tti - c (dot) org)
610    Date: 2004/10/01 10:20:30 CDT
611    Tag: blume-20041001-slave
612    Description:
613    
614    Added hack to make slave mode work in the presence of the version
615    tool.  (Still, since the master does two passes over the code for
616    CMB.make, the release number gets bumped twice when slaves are
617    attached.  I don't know if this is worth fixing...)
618    
619    ----------------------------------------------------------------------
620    Name: Matthias Blume (blume (at) tti - c (dot) org)
621    Date: 2004/09/30 10:55:00 CDT
622    Tag: blume-20040930-version
623    Description:
624    
625    * Moved the "version" magic into its own little library under
626      src/system/smlnj/internal.  This avoids expensive reconstruction of
627      a stable src/compiler/core.cm.
628    
629    * At the same time, structure CompilerVersion is now known as
630      structure SMLNJVersion.
631    
632    * Arranged for the version tool to NOT kick in when rebuilding the system
633      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
634      Also, loading the versiontool does not work when rebuilding the system
635      because CM is not properly initialized at that time.
636    
637    ----------------------------------------------------------------------
638    Name: Matthias Blume (blume (at) tti - c (dot) org)
639    Date: 2004/09/29 14:00:00 CDT
640    Tag: blume-20040929-autoversion
641    Description:
642    
643    Implemented some CM magic to have
644        file src/compiler/TopLevel/main/version.sml
645    generated automagically.
646    The version is taken from two files: config/version and config/release.
647    The first is expected to contain a two-part version number such as 110.49.
648    The second should contain a single number, but it may be missing.
649    
650    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
651    time the version tool is loaded (which is the first time you say CMB.make),
652    then the tool will increment the value stored in config/release every
653    time CMB.make is invoked.
654    
655    The binfile format is now insensitive to anything beyond the first
656    two components of a version number, so bumping the release does not render
657    binfiles incompatible.  Auto-bumping can be used to keep track of versions
658    during development without invalidating existing binfiles.
659    
660    In any case, every CMB.make updates the date information in version.sml.
661    (This is the date that is printed in the banner.)
662    
663    ----------------------------------------------------------------------
664    Name: Matthias Blume (blume (at) tti - c (dot) org)
665    Date: 2004/09/28 10:53:00 CDT
666    Tag: blume-20040928-controls
667    Description:
668    
669    Some cleanup of the controls code.
670    
671    ----------------------------------------------------------------------
672    Name: Matthias Blume (blume (at) tti - c (dot) org)
673    Date: 2004/09/27 22:08:00 CDT
674    Tag: blume-20040927-controls
675    Description:
676    
677    Added two pieces of functionality to the Controls interface:
678    
679    1.   val save'restore: 'a control -> unit -> unit
680    
681       grabs the current value of the control in stage 1 and restores it
682       in stage 2.
683    
684    2.   val set' : 'a control * 'a -> unit -> unit
685    
686       stores the given value into the control in stage 2 (i.e., delayed)
687       but does all error checking in stage 1.
688       (This is for string controls that need to do parse their argument --
689        something that might fail.  In some cases, notably in CM, one
690        already knows the intended argument but wants to delay the actual
691        assignment until a time when error recovery would be more difficult.)
692    
693    Changed the handling of controls in tool arguments to classes "sml" and
694    "lazysml":
695       - use Controls.save'restore as a more robust way of restoring the
696         old value (in particular: without having to re-parse the string)
697       - use controls to handle the "overload" keyword in the init group
698         (I believe this change actually fixes a long-standing obscure bug.)
699    
700    ----------------------------------------------------------------------
701    Name: Matthias Blume (blume (at) tti - c (dot) org)
702    Date: 2004/09/27 17:00:00 CDT
703    Tag: blume-20040927-lazysml
704    Description:
705    
706    Added a new tool class called "lazysml" to CM's tool chest.  The only
707    difference to "sml" is that compilation is done with Control.lazysml
708    set to true.  A source of class "lazysml" is automatically recognized
709    by a file name suffix of ".lml".
710    
711    In addition to the above feature, the original class "sml" now also
712    supports a tool argument "lazy" which has the same effect.  As a
713    result, the following three lines are equivalent:
714    
715        foo.sml : lazysml
716        foo.sml : sml (lazy)
717        foo.sml (lazy)
718    
719    The setting goes into effect both during parsing and during
720    compilation.  The original setting is restored right after parsing and
721    after compilation, respectively.
722    
723    In addition to all the above, there is also a general mechanism to set
724    ANY of the "controls" that are available at the command line via
725    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
726    apply as well. (In fact, "lazy" is implemented as a special case of
727    the general mechanism.)
728    
729    The .cm file syntax uses a new keyword tool argument called "with".
730    There are several ways of indicating the desired settings:
731    
732        foo.sml (with:parser.quotations=true)
733        foo.sml (with:(name:parser.quotations value:true))
734        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
735        foo.sml (with:(name1=value1 name2=value2 ...))
736        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
737    
738        etc.
739    
740    Another possible abbreviation is to leave out the =v or value:v part
741    if the name refers to a boolean control (in which case the value is
742    taken to be true).  Thus, one could get lazy sml also by saying:
743    
744        foo.sml (with:parser.lazy-keyword=true)
745        foo.sml (with:parser.lazy-keyword)
746        foo.sml (with:(name:parser.lazy-keyword value:true))
747        foo.sml (with:(name:parser.lazy-keyword))
748    
749    ----------------------------------------------------------------------
750    Name: Matthias Blume (blume (at) tti - c (dot) org)
751    Date: 2004/09/24 16:22:00 CDT
752    Tag: blume-20040924-ppc-long-branch
753    Description:
754    
755    Turned message about "emiting long form of branch" off by default.
756    Added a control flag to turn it back on when desired.
757    
758    ----------------------------------------------------------------------
759    Name: Matthias Blume (blume (at) tti - c (dot) org)
760    Date: 2004/09/24 16:05:00 CDT
761    Tag: blume-20040924-rounding
762    Description:
763    
764    Applied patch for setting rounding modes under Mac OS X.  Thanks to
765    Melissa O'Neill for providing the code!
766    
767    ----------------------------------------------------------------------
768    Name: Matthias Blume (blume (at) tti - c (dot) org)
769    Date: 2004/09/23 17:30:00 CDT
770    Tag: blume-20040923-envvars
771    Description:
772    
773    1. Changed definition of type ControlRegistry.registry_tree to
774       include control_info (i.e., the name of the controlling environment
775       variable).
776    
777    2. Added command-line flags -e and -E to print the names of environment
778       variables that can be used to control internal settings.
779       (This uses the new API mentioned in 1.)
780    
781    ----------------------------------------------------------------------
782    Name: Matthias Blume (blume (at) tti - c (dot) org)
783    Date: 2004/09/13 16:50:00 CDT
784    Tag: Release_110_49
785    Description:
786    
787    New working version (110.49).  NEW BOOTFILES!
788    
789    ----------------------------------------------------------------------
790    Name: Matthias Blume
791    Date: 2004/09/13 16:20:00 CDT
792    Tag: blume-20040913-config-mlrisc
793    Description:
794    
795    Put target "mlrisc" back into the default list.
796    (There is no harm in having it, and some users have expressed their
797    wish to have "mlrisc" included by default.)
798    
799    ----------------------------------------------------------------------
800    Name: John Reppy
801    Date: 2004/09/13
802    Tag: jhr-20040913-signals
803    Description:
804    
805    Fixed the signal masking code to properly nest mask/unmask operations
806    on a per-signal basis.
807    
808    ----------------------------------------------------------------------
809    Name: Matthias Blume (blume (at) tti - c (dot) org)
810    Date: 2004/09/08 13:20:00 CDT
811    Tag: blume-20040908-heap-magic
812    Description:
813    
814    Bumped the heap macig number to 0x09082004 to account for the changed
815    layout of the ML frame under MacOS X.
816    
817    ----------------------------------------------------------------------
818    Name: Allen Leung (leunga (at) reservoir (dot) com)
819    Date: 2004/09/03 11:26:00 EST
820    Tag: leunga-20040903-cygwin-install
821    Description:
822    
823       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
824    The Cygwin runtime is turned on by setting the environment
825    variable SMLNJ_CYGWIN_RUNTIME to 1.
826    
827    ----------------------------------------------------------------------
828    Name: Matthias Blume (blume (at) tti - c (dot) org)
829    Date: 2004/08/31 17:15:00 CDT
830    Tag: blume-20040831-core
831    Description:
832    
833    Added some exports to src/compiler/core.cm upon request by J. Joemann.
834    
835    ----------------------------------------------------------------------
836    Name: Matthias Blume (blume (at) tti - c (dot) org)
837    Date: 2004/08/30 17:55:00 CDT
838    Tag: blume-20040830-installer
839    Description:
840    
841    Upon request by Johannes Joemann:
842    
843    - improved ML code of installer to fall back to coping when renaming
844      fails (i.e., when source and target are on different file systems);
845      the code compiles but has yet to be tested in anger
846    - removed mlrisc from list of default targets (config/targets)
847    
848    ----------------------------------------------------------------------
849    Name: Matthias Blume (blume (at) tti - c (dot) org)
850    Date: 2004/08/27 17:20:00 CDT
851    Tag: blume-20040827-ptreql
852    Description:
853    
854    Added ptreql primop to structure InlineT (upon request from Larry
855    Paulson).
856    
857    ----------------------------------------------------------------------
858    Name: Allen Leung (leunga (at) reservoir (dot) com)
859    Date: 2004/08/15 21:21:00 EST
860    Tag: leunga-110_48-udgraph
861    Description:
862    
863    Another bug fix from Carl Hauser:
864    
865    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
866    > 48c48
867    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
868    > e::L)
869    > ---
870    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
871    > Without this, any deletion of an edge in an undirected graph does severe
872    > violence to the graph.
873    
874    ----------------------------------------------------------------------
875    Name: Allen Leung (leunga (at) reservoir (dot) com)
876    Date: 2004/08/10 23:35:00 EST
877    Tag: leunga-110_48-ppc
878    Description:
879    
880       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
881    
882    ----------------------------------------------------------------------
883    Name: Matthias Blume (blume (at) tti - c (dot) org)
884    Date: 2004/08/10 12:00:00 CDT
885    Tag: Release_110_48
886    Description:
887    
888    New working version (110.48).  NEW BOOTFILES!
889    
890    ----------------------------------------------------------------------
891    Name: Allen Leung (leunga (at) reservoir (dot) com)
892    Date: 2004/08/09 12:21:00 EST
893    Tag: leunga-110_47-dijsktra
894    Description:
895    
896    Bug fix from Carl Hauser:
897    
898    single_source_shortest_paths in dijkstra.sml was observed to get wrong
899    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
900    
901    The problem is that following the expression A.update(dist,s,Num.zero)
902    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
903    
904    ----------------------------------------------------------------------
905    Name: Matthias Blume (blume (at) tti - c (dot) org)
906    Date: 2004/08/06 18:10:00 CDT
907    Tag: blume-20040806-cmdline
908    Description:
909    
910    Fiddled with handling of command-line options:
911    
912      * sml now quits after processing the command line
913        if -H, -S, -h<n>, or -s<n> appears as the last
914        command-line argument
915      * a new option -q terminates the session when encountered on
916        the command line; subsequent arguments will be ignored
917      * bug fixes: short (erroneous) arguments are no longer ignored
918        completely
919    
920    ----------------------------------------------------------------------
921    Name: Allen Leung (leunga (at) reservoir (dot) com)
922    Date: 2004/08/04 18:17:00 EST
923    Tag: leunga-110_47-ppc-ibm-asm
924    Description:
925    
926      - Added minimal IBM assembly syntax support for PowerPC.
927    
928      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
929        been altered in the runtime.  We need an automatic way to keep the file
930        in sync.
931    
932    ----------------------------------------------------------------------
933    Name: Matthias Blume (blume (at) tti - c (dot) org)
934    Date: 2004/08/04 14:00:00 CDT
935    Tag: Release_110_47
936    Description:
937    
938    New working version (110.47).  NEW BOOTFILES!
939    
940    ----------------------------------------------------------------------
941    Name: Matthias Blume (blume (at) tti - c (dot) org)
942    Date: 2004/08/03 14:25:00 CDT
943    Tag: blume-20040803-callingconv
944    Description:
945    
946    Added low-level support for choosing C calling conventions by
947    twiddling the type of rawccall.  (See
948    src/compiler/Semant/types/cproto.sml for details.)
949    
950    ----------------------------------------------------------------------
951    Name: Matthias Blume (blume (at) tti - c (dot) org)
952    Date: 2004/08/02 15:55:00 CDT
953    Tag: blume-20040802-backout
954    Description:
955    
956    Backed out of change to win32-filesys.c.  The earlier patch to
957    get_file_time caused CM to produce files with the wrong time stamp.
958    
959    ----------------------------------------------------------------------
960    Name: Matthias Blume (blume (at) tti - c (dot) org)
961    Date: 2004/08/02 14:45:00 CDT
962    Tag: blume-20040802-nlffi-win32
963    Description:
964    
965    Added NLFFI support for Win32, adapted from a patch provided by David
966    Hansel.  This is currently completely untested.  Also, the issue
967    concerning stdcall vs. ccall is still unresolved.
968    
969    ----------------------------------------------------------------------
970    Name: Matthias Blume (blume (at) tti - c (dot) org)
971    Date: 2004/07/30 17:55:00 CDT
972    Tag: blume-20040730-various
973    Description:
974    
975    Gearing up towards 110.47...
976    
977    - various minor bugfixes to ml-nlffigen
978    - a beginning of a manual for nlffi
979    
980    - eliminated 'export name=value' in config/install.sh as this does
981      not work with certain versions of /bin/sh
982      (Thanks to David King at Motorola for catching this.)
983    
984    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
985      - added a test for tm==NULL to gmtime.c and localtime.c
986      - applied patch for incorrect GetFileTime under win32
987      - toSeconds -> toMilliseconds in Win32/win32-process.sml
988    
989    ----------------------------------------------------------------------
990    Name: Matthias Blume (blume (at) tti - c (dot) org)
991    Date: 2004/07/21 18:20:00 CDT
992    Tag: blume-20040721-nlffigen
993    Description:
994    
995    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
996      for a typedef to an incomplete type, but leave out the "typ" member.
997      (This is just for consistency.)
998    - Started to produce what is supposed to become better (i.e., comprehensive)
999      documentation of what ml-nlffigen does and produces.
1000    
1001    ----------------------------------------------------------------------
1002    Name: Matthias Blume (blume (at) tti - c (dot) org)
1003    Date: 2004/07/14 16:25:00 CDT
1004    Tag: blume-20040714-union
1005    Description:
1006    
1007    Added C_UNION to c-calls/c-types.sml and updated the machinery
1008    (ml-nlffigen, cproto.sml) that conveys C function interface
1009    information to the code generator.
1010    
1011    However, the actual architecture-specific implementation of function
1012    arguments and results that are C unions is still not implemented.
1013    
1014    ----------------------------------------------------------------------
1015    Name: Allen Leung (leunga (at) reservoir (dot) com)
1016    Date: 2004/07/14 14:38:00 EST
1017    Tag: leunga-110_46_1-ppc-lwzu
1018    Description:
1019    
1020        Added these instructions to the PowerPC architecture:
1021        LBZU(X), LHZU(X), LWZU(X),
1022        STWU(X), STFDU, STFSU
1023    
1024        etc...
1025    
1026        Note: I haven't added their instruction encoding into the description.
1027    
1028    ----------------------------------------------------------------------
1029    Name: Allen Leung (leunga (at) reservoir (dot) com)
1030    Date: 2004/07/13 15:04:00 EST
1031    Tag: leunga-110_46_1-ppc-lwarx
1032    Description:
1033    
1034       Added the two instructions LWARX and STWCX to the PowerPC
1035    instruction set.
1036    
1037       A (untested) rewrite of loop-structure.sml.  The old version
1038    is completely broken.
1039    
1040    ----------------------------------------------------------------------
1041    Name: Matthias Blume (blume (at) tti - c (dot) org)
1042  Date: 2004/07/13 13:50:00 CDT  Date: 2004/07/13 13:50:00 CDT
1043  Tag: blume-20040713-nlffi  Tag: blume-20040713-nlffi
1044  Description:  Description:

Legend:
Removed from v.1537  
changed lines
  Added in v.1760

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