Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/FLINT/CHANGES
ViewVC logotype

Annotation of /sml/trunk/src/compiler/FLINT/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21 - (view) (download)

1 : monnier 21 ==========================================================================
2 :     I. MAIN CHANGES MADE TO FLINT VERSION 1.1
3 :    
4 :     02/02/1998
5 :     Merged Version 1.1 with SML/Nj 110.0.3 to create 1.1+
6 :    
7 :     02/04/1998
8 :     Changed FLINT IL and LTYKERNEL in the following way:
9 :    
10 :     flint/flintil.sig
11 :     flint/flintil.sml
12 :     New fkind, no more return result type for fundec
13 :     no more type bindings in tfundec.
14 :    
15 :     flint/ltykernel.sig
16 :     flint/ltykernel.sml
17 :     TK_TYC and TK_TBX now renamed as TK_MONO and TK_BOX
18 :     new raw field to indicate if a TC_ARROW is cooked or raw
19 :     LT_FCT now takes multiple arguments as well.
20 :    
21 :     Reorganize the files a little bit, and propagate all of the
22 :     above changes to the other files.
23 :    
24 :     02/05/1998
25 :     Directory reorganizations
26 :    
27 :     02/06/1998
28 :     To eliminate references to LtyEnv from transmodules.sml
29 :     To eliminate references to LtyKernel from translate.sml
30 :     To eliminate references to LtyEnv from translate.sml
31 :     Then to reformat PLambdaType to support exactly what is
32 :     required by the trans and mcomp directories.
33 :    
34 :     ==========================================================================
35 :     II. IMPLEMENTATION NOTES:
36 :    
37 :     flint.sig
38 :     flint.sml
39 :    
40 :     * fkind could be a list of attributes
41 :     * rkind --- tyc is only used empty vector, we could introduce
42 :     a new construct called RK_VECTOR0 of tyc ?
43 :     then the tyc can go away.
44 :     * RK_RECORD could contain a list of labels, however, we could add
45 :     it later, it should not impact the rest of the code much
46 :     * type dcon --- conrep should go away once we have the full
47 :     type information about datatypes
48 :     * funtions will be divided into two categories: raw vs. cooked
49 :     raw refers to those whose calling conventions have been fixed.
50 :     cooked means those whose calling conventions are being determined;
51 :     most likely, they depend on what kind of argument and result types
52 :     they have.
53 :     * EXNC and EXNF should be merged, we should only provide one construct,
54 :     that is, the etag primop which takes a string or string ref and
55 :     returns a 'a etag value. Non-value carrying exceptions are considered
56 :     as exceptions that carry unit value. Similarly, CON and SWITCH on
57 :     exceptions should be replaced by Harper & Stone's "tag" and "iftagof"
58 :     construct.
59 :    
60 :     ltykernel.sig
61 :     ltykernel.sml
62 :    
63 :     * LT_PST is used for avoiding writing down huge type information
64 :     for imported modules; we can get rid of this if we change the
65 :     the list of import ids into a list of import access paths.
66 :     * TC_NVAR and TC_ABS are not used for the time being
67 :     * TC_CONT and LT_CNT are used for the cps/convert.sml only; the
68 :     source-level cont type is denoted as a TC_PRIM tyc.
69 :     * TC_BOX should become a primtiive tyc if wrap and unwrap become
70 :     primitive operators.
71 :     * TC_SUM and TC_FIX require clean-up. Do we need to distinguish
72 :     between enumeration types and other arbitrary datatypes ?
73 :    
74 :     flinttype.sig
75 :    
76 :     * Get rid of tcc_unit as it ought to be just RECORD [].
77 :    
78 :    
79 :    
80 :     ==========================================================================
81 :     III. PAST NOTES:
82 :    
83 :     FILES CHANGED TO MIGRATE TO THE NEW FLINT
84 :    
85 :     a. main working directories: new and nopt
86 :     convert.sml and switch.sml are now in the nopt directories also.
87 :     b. directories such type and opt and cps/conv will become
88 :     obsolete in the future.
89 :    
90 :     FILES CHANGED TO SUPPORT NEW FORM of SWITCH statement in PLambda
91 :    
92 :     mcomp/matchcomp.sml
93 :     opt/normalize.sml
94 :     plambda/chkplexp.sml
95 :     plambda/plambda.sig
96 :     plambda/plambda.sml
97 :     plambda/pplexp.sml
98 :     trans/literals.sml
99 :     trans/pequal.sml
100 :     ==========================================================================
101 :    

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