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 1346, Thu Aug 28 17:40:46 2003 UTC revision 1347, Thu Aug 28 21:59:15 2003 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume@tti-c.org)
17    Date: 2003/08/28 17:00:00 CDT
18    Tag: blume-20030828-intinf
19    Description:
20    
21    This is a major update which comes with a version number bump
22    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
23    and an implementation of IntInf in the Basis.
24    
25    There are a fairly large number of related changes and updates throughout
26    the system:
27    
28    Basis:
29            - Implemented IntInf.
30            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
31            - Added some missing Real54 operations, most notably Real.toLargeInt.
32            - Added FixedInt as a synonym for Int32.
33    
34    compiler:
35            * Added support for a built-in intinf type.
36              - literals
37              - pattern matching
38              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
39              - overloading on literals and operations
40    
41            This required adding a primitive type intinf, some additional
42            primops, and implementations for several non-trivial intinf
43            operations in Core.  (The intinf type is completely abstract
44            to the compiler; all operations get delegated back to the Core.)
45    
46            * Intinf equality is handled by polyequal.  However, the compiler
47            does not print its usual warning in this case (since polyequal
48            is the right thing to do there).
49    
50            * Improved the organization of structure InlineT.
51    
52            * A word about conversion primops:
53            If conversions involving intinf do not cancel out during
54            CPS contract, the compiler must insert calls to Core functions.
55            Since all core access must be resolved already during the FLINT
56            translate phase, it would be too late a the time of CPS contract
57            to add now Core calls.  For this reason, conversion primops
58            for intinf carry two arguments:  1. the numeric argument that
59            they are supposed to convert, and 2. the Core function that
60            can help with this conversion if necessary.  If CPS contract
61            eliminates the primop, the Core functions become dead and go
62            away.  Intinf conversion primops that do not get eliminated
63            by CPS contract get rewritten into calls of those core functions
64            by a separate, new phase.
65    
66    interactive system:
67            - Control.Print.intinfDepth controls max length of intinf constants
68            being printed. (Analogous to Control.Print.stringDepth.)
69            - Cleanup in printutil and pputil: got rid of unused stuff and
70            duplicates; replaced some of the code with code that makes better
71            use of library functionality.
72    
73    CM:
74            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
75            are no longer silent.
76    
77    CKIT:
78            Fixed mismatched uses of Int32 and LargeInt.  I always decided
79            in favor of LargeInt -- which is now the same as IntInf.
80            CKIT-knowledgable people should check whether this is what's
81            intended and otherwise change things back to using Int32 or
82            FixedInt.
83    
84    Throughout the code:
85            Started useng IntInf.int literals and built-in operations
86            (e.g., comparison with 0) where this seems appropriate.
87    
88    
89    ----------------------------------------------------------------------
90  Name: Dave MacQueen (dbm@cs.uchicago.edu)  Name: Dave MacQueen (dbm@cs.uchicago.edu)
91  Date: 2003/08/13 11:36:00 CDT  Date: 2003/08/13 11:36:00 CDT
92  Tag: dbm-20030813-mcz-merge1  Tag: dbm-20030813-mcz-merge1

Legend:
Removed from v.1346  
changed lines
  Added in v.1347

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