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/compiler/DEVNOTES/Flint/translate.txt
ViewVC logotype

Diff of /sml/branches/primop-branch-3/compiler/DEVNOTES/Flint/translate.txt

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

revision 3292, Mon Apr 20 20:35:09 2009 UTC revision 3293, Tue Apr 21 02:35:49 2009 UTC
# Line 57  Line 57 
57    
58  mkVE takes care of calculating the type instantiation parameters for  mkVE takes care of calculating the type instantiation parameters for
59  primops relative to their intrinsic types.  primops relative to their intrinsic types.
60    
61    
62    ========================================
63    
64    RepTycProps
65    
66    In order to translate functors into FLINT type abstractions, the
67    compiler needs to identify the primary type components that
68    need to be translated into PLambda types.
69    
70    Tycpaths encode the higher-order kind information for the
71    primary type components of functors. This information is
72    transmitted throughout Translate by a flextycmap which is
73    a map from stamps to tycpaths.
74    
75    Translate currently uses this functionality in three places.
76    1. TransTypes uses RepTycProps.getTk to compute primary type
77    component information which in turn is used to obtain
78    PLambda kinds in TransTypes.fctRlznLty.
79    2. In Translate.mkStrexp we compute tycpaths for the arguments
80    in an APPstr. These tycpaths can be translated into PLambda types tycs
81    for the PLambda/FLINT-level type application APP(TAPP(e1, tycs), e2).
82    3. In Translate.mkFctexp we compute tycpaths for the primary
83    formal parameters in the FCTfct case in order to obtain the kinds knds
84    for use in the PLambda/FLINT-level type abstraction:
85    TFN(knds, FN(v, ...))

Legend:
Removed from v.3292  
changed lines
  Added in v.3293

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