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

Legend:
Removed from v.1580  
changed lines
  Added in v.1759

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