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

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

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