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

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

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