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

Legend:
Removed from v.1619  
changed lines
  Added in v.1792

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