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 1620, Mon Sep 13 20:10:38 2004 UTC revision 1634, Tue Sep 28 15:53:10 2004 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/09/28 10:53:00 CDT
18    Tag: blume-20040928-controls
19    Description:
20    
21    Some cleanup of the controls code.
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume (blume (at) tti - c (dot) org)
25    Date: 2004/09/27 22:08:00 CDT
26    Tag: blume-20040927-controls
27    Description:
28    
29    Added two pieces of functionality to the Controls interface:
30    
31    1.   val save'restore: 'a control -> unit -> unit
32    
33       grabs the current value of the control in stage 1 and restores it
34       in stage 2.
35    
36    2.   val set' : 'a control * 'a -> unit -> unit
37    
38       stores the given value into the control in stage 2 (i.e., delayed)
39       but does all error checking in stage 1.
40       (This is for string controls that need to do parse their argument --
41        something that might fail.  In some cases, notably in CM, one
42        already knows the intended argument but wants to delay the actual
43        assignment until a time when error recovery would be more difficult.)
44    
45    Changed the handling of controls in tool arguments to classes "sml" and
46    "lazysml":
47       - use Controls.save'restore as a more robust way of restoring the
48         old value (in particular: without having to re-parse the string)
49       - use controls to handle the "overload" keyword in the init group
50         (I believe this change actually fixes a long-standing obscure bug.)
51    
52    ----------------------------------------------------------------------
53    Name: Matthias Blume (blume (at) tti - c (dot) org)
54    Date: 2004/09/27 17:00:00 CDT
55    Tag: blume-20040927-lazysml
56    Description:
57    
58    Added a new tool class called "lazysml" to CM's tool chest.  The only
59    difference to "sml" is that compilation is done with Control.lazysml
60    set to true.  A source of class "lazysml" is automatically recognized
61    by a file name suffix of ".lml".
62    
63    In addition to the above feature, the original class "sml" now also
64    supports a tool argument "lazy" which has the same effect.  As a
65    result, the following three lines are equivalent:
66    
67        foo.sml : lazysml
68        foo.sml : sml (lazy)
69        foo.sml (lazy)
70    
71    The setting goes into effect both during parsing and during
72    compilation.  The original setting is restored right after parsing and
73    after compilation, respectively.
74    
75    In addition to all the above, there is also a general mechanism to set
76    ANY of the "controls" that are available at the command line via
77    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
78    apply as well. (In fact, "lazy" is implemented as a special case of
79    the general mechanism.)
80    
81    The .cm file syntax uses a new keyword tool argument called "with".
82    There are several ways of indicating the desired settings:
83    
84        foo.sml (with:parser.quotations=true)
85        foo.sml (with:(name:parser.quotations value:true))
86        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
87        foo.sml (with:(name1=value1 name2=value2 ...))
88        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
89    
90        etc.
91    
92    Another possible abbreviation is to leave out the =v or value:v part
93    if the name refers to a boolean control (in which case the value is
94    taken to be true).  Thus, one could get lazy sml also by saying:
95    
96        foo.sml (with:parser.lazy-keyword=true)
97        foo.sml (with:parser.lazy-keyword)
98        foo.sml (with:(name:parser.lazy-keyword value:true))
99        foo.sml (with:(name:parser.lazy-keyword))
100    
101    ----------------------------------------------------------------------
102    Name: Matthias Blume (blume (at) tti - c (dot) org)
103    Date: 2004/09/24 16:22:00 CDT
104    Tag: blume-20040924-ppc-long-branch
105    Description:
106    
107    Turned message about "emiting long form of branch" off by default.
108    Added a control flag to turn it back on when desired.
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume (blume (at) tti - c (dot) org)
112    Date: 2004/09/24 16:05:00 CDT
113    Tag: blume-20040924-rounding
114    Description:
115    
116    Applied patch for setting rounding modes under Mac OS X.  Thanks to
117    Melissa O'Neill for providing the code!
118    
119    ----------------------------------------------------------------------
120    Name: Matthias Blume (blume (at) tti - c (dot) org)
121    Date: 2004/09/23 17:30:00 CDT
122    Tag: blume-20040923-envvars
123    Description:
124    
125    1. Changed definition of type ControlRegistry.registry_tree to
126       include control_info (i.e., the name of the controlling environment
127       variable).
128    
129    2. Added command-line flags -e and -E to print the names of environment
130       variables that can be used to control internal settings.
131       (This uses the new API mentioned in 1.)
132    
133    ----------------------------------------------------------------------
134    Name: Matthias Blume (blume (at) tti - c (dot) org)
135    Date: 2004/09/13 16:50:00 CDT
136    Tag: Release_110_49
137    Description:
138    
139    New working version (110.49).  NEW BOOTFILES!
140    
141    ----------------------------------------------------------------------
142    Name: Matthias Blume
143    Date: 2004/09/13 16:20:00 CDT
144    Tag: blume-20040913-config-mlrisc
145    Description:
146    
147    Put target "mlrisc" back into the default list.
148    (There is no harm in having it, and some users have expressed their
149    wish to have "mlrisc" included by default.)
150    
151    ----------------------------------------------------------------------
152  Name: John Reppy  Name: John Reppy
153  Date: 2004/09/13  Date: 2004/09/13
154  Tag: jhr-20040913-signals  Tag: jhr-20040913-signals

Legend:
Removed from v.1620  
changed lines
  Added in v.1634

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