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 1140, Wed Mar 13 18:59:03 2002 UTC revision 1155, Wed Mar 20 20:52:51 2002 UTC
# Line 11  Line 11 
11  Date: yyyy/mm/dd  Date: yyyy/mm/dd
12  Tag: <post-commit CVS tag>  Tag: <post-commit CVS tag>
13  Description:  Description:
14    
15    ----------------------------------------------------------------------
16    Name: Matthias Blume
17    Date: 2002/03/20 15:55:00 EST
18    Tag: blume-20020320-kmp
19    Description:
20    
21    Implemented Knuth-Morris-Pratt string matching in PreString and used
22    it for String.isSubstring, Substring.isSubstring, and
23    Substring.position.
24    
25    (Might need some stress-testing.  Simple examples worked fine.)
26    
27    ----------------------------------------------------------------------
28    Name: Matthias Blume
29    Date: 2002/03/19 16:37:00 EST
30    Tag: blume-20020319-witnesses
31    Description:
32    
33    Added a structure C.W and functions convert/Ptr.convert to ml-nlffi-lib.
34    
35    This implements a generic mechanism for changing constness qualifiers
36    anywhere within big C types without resorting to outright "casts".
37    (So far, functions such as C.rw/C.ro or C.Ptr.rw/C.Ptr.ro only let you
38    modify the constness at the outermost level.)
39    The implementation of "convert" is based on the idea of "witness"
40    values -- values that are not used by the operation but whose types
41    "testify" to their applicability.  On the implementation side, "convert"
42    is simply a projection (returning its second curried argument).  With
43    cross-module inlining, it should not result in any machine code being
44    generated.
45    
46    ----------------------------------------------------------------------
47    Name: Matthias Blume
48    Date: 2002/03/15 16:40:00 EST
49    Tag: blume-20020315-basis
50    Description:
51    
52    Provided (preliminary?) implementations for
53    
54      {String,Substring}.{concatWith,isSuffix,isSubstring}
55    
56    and
57    
58      Substring.full
59    
60    Those are in the Basis spec but they were missing in SML/NJ.
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume
64    Date: 2002/03/14 21:30:00 EST
65    Tag: blume-20020314-controls
66    Description:
67    
68    Controls:
69    ---------
70    
71    1. Factored out the recently-added Controls : CONTROLS stuff and put
72       it into its own library $/controls-lib.cm.  The source tree for
73       this is under src/smlnj-lib/Controls.
74    
75    2. Changed the names of types and functions in this interface, so they
76       make a bit more "sense":
77    
78          module -> registry
79          'a registry -> 'a group
80    
81    3. The interface now deals in ref cells only.  The getter/setter interface
82       is (mostly) gone.
83    
84    4. Added a function that lets one register an already-existing ref cell.
85    
86    5. Made the corresponding modifications to the rest of the code so that
87       everything compiles again.
88    
89    6. Changed the implementation of Controls.MLRISC back to something closer
90       to the original.  In particular, this module (and therefore MLRISC)
91       does not depend on Controls.  There now is some link-time code in
92       int-sys.sml that registers the MLRISC controls with the Controls
93       module.
94    
95    CM:
96    ---
97    
98      * One can now specify the lambda-split aggressiveness in init.cmi.
99    
100    ----------------------------------------------------------------------
101    Name: Allen Leung
102    Date: 2002/03/13 17:30:00 EST
103    Tag: leunga-20020313-x86-fp-unary
104    Description:
105    
106    Bug fix for:
107    
108    > leunga@weaselbane:~/Yale/tmp/sml-dist{21} bin/sml
109    > Standard ML of New Jersey v110.39.1 [FLINT v1.5], March 08, 2002
110    > - fun f(x,(y,z)) = Real.~ y;
111    > [autoloading]
112    > [autoloading done]
113    >       fchsl   (%eax), 184(%esp)
114    > Error: MLRisc bug: X86MCEmitter.emitInstr
115    >
116    > uncaught exception Error
117    >   raised at: ../MLRISC/control/mlriscErrormsg.sml:16.14-16.19
118    
119    The problem was that the code generator did not generate any fp registers
120    in this case, and the ra didn't know that it needed to run the X86FP phase to
121    translate the pseudo fp instruction.   This only happened with unary fp
122    operators in certain situations.
123    
124  ----------------------------------------------------------------------  ----------------------------------------------------------------------
125  Name: Matthias Blume  Name: Matthias Blume
126  Date: 2002/03/13 14:00:00 EST  Date: 2002/03/13 14:00:00 EST
# Line 50  Line 160 
160    provides a bit more "stability":  Once CM has seen a compilation    provides a bit more "stability":  Once CM has seen a compilation
161    unit, it keeps its identity constant (as long as you do not delete    unit, it keeps its identity constant (as long as you do not delete
162    those crucial CM/GUID/* files).  This means that when you change    those crucial CM/GUID/* files).  This means that when you change
163    and interface, compiler, then go back to the old interface, and    an interface, compile, then go back to the old interface, and
164    compile again, you arrive at the original pid.    compile again, you arrive at the original pid.
165    
166    There now also is a mechanism that instructs CM to use the plain    There now also is a mechanism that instructs CM to use the plain
# Line 125  Line 235 
235  ----------------------------------------------------------------------  ----------------------------------------------------------------------
236  Name: Allen Leung  Name: Allen Leung
237  Date: 2002/03/11 10:30:00 EST  Date: 2002/03/11 10:30:00 EST
238  Tag: leunga-20020310-runtime-string0  Tag: leunga-20020311-runtime-string0
239  Description:  Description:
240    
241     The representation of the empty string now points to a     The representation of the empty string now points to a

Legend:
Removed from v.1140  
changed lines
  Added in v.1155

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