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/branches/primop-branch-3/NOTES/HISTORY
ViewVC logotype

Diff of /sml/branches/primop-branch-3/NOTES/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 586, Thu Mar 30 05:08:07 2000 UTC revision 587, Thu Mar 30 09:01:52 2000 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume
17    Date: 2000/03/30 18:00:00 JST
18    Tag: blume_main_v110p26p2_0
19    Description:
20    
21    !!!!! WARNING !!!!!!
22    !!  New binfiles  !!
23    !!!!!!!!!!!!!!!!!!!!
24    
25    This update contains:
26    
27    1. Moderate changes to CM:
28    
29       - Changes to CM's tools mechanism.  In particular, it is now possible
30       to have tools that accept additional "command line" parameters
31       (specified in the .cm file at each instance where the tool's class is
32       used).
33    
34       This was done to accomodate the new "make" and "shell" tools which
35       facilitate fairly seemless hookup to portions of code managed using
36       Makefiles or Shell scripts.
37    
38       There are no classes "shared" or "private" anymore.  Instead, the
39       sharing annotation is now a parameter to the "sml" class.
40    
41       There is a bit of generic machinery for implementing one's own
42       tools that accept command-line parameters.  However, I am not yet fully
43       satisfied with that part, so expect changes here in the future.
44    
45       All existing tools are described in the CM manual.
46    
47       - Slightly better error handling.  (CM now surpresses many followup
48       error messages that tended to be more annoying than helpful.)
49    
50    2. Major changes to the compiler's static environment data structures.
51    
52       - no CMStaticEnv anymore.
53            - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment,
54              but it is called Environment), no conversions between different
55              kinds of static environments
56    
57       - There is still a notion of a "modmap", but such modmaps are generated
58         on demand at the time when they are needed.  This sounds slow, but I
59         sped up the code that generates modmaps enough for this not to lead to
60         a slowdown of the compiler (at least I didn't detect any).
61    
62       - To facilitate rapid modmap generation, static environments now
63         contain an (optional) "modtree" structure.  Modtree annotations are
64         constructed by the unpickler during unpickling.  (This means that
65         the elaborator does not have to worry about modtrees at all.)
66         Modtrees have the advantage that they are compositional in the same
67         way as the environment data structure itself is compositional.
68         As a result, modtrees never hang on to parts of an environment that
69         has already been rendered "stale" by filtering or rebinding.
70    
71       - I went through many, many trials and errors before arriving at the
72         current solution.  (The initial idea of "linkpaths" did not work.)
73         But the result of all this is that I have touched a lot of files that
74         depend on the "modules" and "types" data structures (most of the
75         elaborator). There were a lot of changes during my "linkpath" trials
76         that could have been reverted to their original state but weren't.
77         Please, don't be too harsh on me for messing with this code a bit more
78         than what was strictly necessary...  (I _did_ resist the tempation
79         of doing any "global reformatting" to avoid an untimely death at
80         Dave's hands. :)
81    
82       - One positive aspect of the previous point:  At least I made sure that
83         all files that I touched now compile without warnings (other than
84         "polyEqual").
85    
86       - compiler now tends to run "leaner" (i.e., ties up less memory in
87         redundant modmaps)
88    
89    ----------------------------------------------------------------------
90  Name: Allen Leung  Name: Allen Leung
91  Date: 2000/03/29 18:00:00  Date: 2000/03/29 18:00:00
92  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86  Tag: leunga-20000327-mlriscGen_hppa_alpha_x86

Legend:
Removed from v.586  
changed lines
  Added in v.587

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