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/smlnj-lib/PORTING
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/PORTING

Parent Directory Parent Directory | Revision Log Revision Log


Revision 106 - (view) (download)
Original Path: sml/branches/SMLNJ/src/smlnj-lib/PORTING

1 : monnier 26 Here is a brief description of the changes since the 0.3beta release of
2 :     the SML/NJ library in 1994. Modules are listed in alphabetical order.
3 :    
4 :     --------------------------------------------------------------------
5 :     Summary
6 :     -------
7 :     - eliminate weak types in signatures.
8 :    
9 :     - name changes to track SML Basis conventions.
10 :     - change names, argument order of iteration combinators
11 :     - use MONO_XXX/XXX instead of XXX/POLY_XXX for signatures.
12 :    
13 :     - consolidate signatures
14 :     - e.g., use ORD_MAP for the Int*Map structures.
15 :    
16 :     - Name structure is renamed Atom.
17 :     - removed name_tbl type and operations and define free-standing
18 :     structures AtomBinaryMap, AtomBinarySet and AtomTable.
19 :    
20 :     - split Format structure into Format and Scan
21 :    
22 :     - moved Unix specific modules to Unix library (use unix-lib.cm
23 :     in sources file to access).
24 :    
25 :     - remove signatures and structures that are redundant with the
26 :     SML Basis Library.
27 :    
28 :     --------------------------------------------------------------------
29 :     Detailed Changes
30 :     ----------------
31 :    
32 :     functor ArrayQSort (...) : ARRAY_SORT
33 :     ==> ArrayQSortFn (...) : MONO_ARRAY_SORT
34 :    
35 :     structure BigInt : BIGINT
36 :     ==> IntInf : INT_INF
37 :     The IntInf structure mostly matches that defined by SML'97.
38 :    
39 :     functor BinaryDict(...) : DICT
40 :     ==> BinaryMapFn(...) : ORD_MAP
41 :    
42 :     functor BinarySet(...)
43 :     ==> BinarySetFn(...)
44 :    
45 :     structure CType : CTYPE
46 :     Deleted. Use operations from Char structure in basis.
47 :    
48 :     signature DICT
49 :     ==> ORD_MAP
50 :     Also, various function names changed to track the SML'97 naming
51 :     conventions:
52 :     val find : ...
53 :     Deleted.
54 :     val peek : ...
55 :     ==> find : ...
56 :     val listItems : ...
57 :     ==> listItemsi : ...
58 :     val app : ...
59 :     ==> appi : ...
60 :     val revapp : ...
61 :     Deleted.
62 :     val map : ...
63 :     ==> mapi : ...
64 :     val fold : ...
65 :     ==> foldr
66 :     val revfold : ...
67 :     ==> foldl
68 :     val transform : ...
69 :     ==> map : ...
70 :     Also, the ORD_MAP interface provides the following new operations:
71 :     insert', listItems, collate, unionWith, unionWithi, intersectWith,
72 :     intersectWithi, app, foldl, foldr, filter, filteri, mapPartial,
73 :     and mapPartiali.
74 :    
75 :     structure Finalizer : FINALIZER
76 :     Deleted. No replacement as of yet.
77 :    
78 :     structure Format : FORMAT
79 :     The scanning functions were moved to a new module (Scan : SCAN).
80 :     Also, the fmt_item datatype has changed.
81 :    
82 :     functor HashTable (...) : HASH_TABLE
83 :     ==> HashTableFn (...) : MONO_HASH_TABLE
84 :    
85 :     structure IntMap : INTMAP
86 :     ==> IntBinaryMap : ORD_MAP
87 :     also IntListMap : ORD_MAP
88 :    
89 :     structure IntSet : INTSET
90 :     ==> IntBinarySet : ORD_MAP
91 :     also IntListSet : ORD_MAP
92 :    
93 :     structure LibBase
94 :     Uses of the LibBase.BadArg exception have been replaced by
95 :     the Fail exception from the SML'97 basis. The function
96 :     LibBase.failure replaces LibBase.badArg.
97 :     Uses of the type LibBase.relation have been replaced by the
98 :     order type from the SML'97 basis.
99 :     The type of the version value has changed, and the value
100 :     versionName is now called banner.
101 :    
102 :     structure ListUtil : LIST_UTIL
103 :     Deleted. Use the operations from List and ListPair in the
104 :     SML'97 basis.
105 :    
106 :     structure Name : NAME
107 :     ==> Atom : ATOM
108 :     and AtomTable : ATOM_TABLE
109 :    
110 :     structure MakeString : MAKESTRING
111 :     Deleted. In SML'97, basic types provide their own conversion
112 :     functions.
113 :    
114 :     signature ORD_SET
115 :     Many function names changed to track the SML'97 naming conventions:
116 :     val find : ...
117 :     Deleted
118 :     val peek : ...
119 :     ==> find : ...
120 :     val fold : ...
121 :     ==> foldr : ...
122 :     val revfold : ...
123 :     ==> foldl : ...
124 :     Also, the ORD_SET interface provides the following new operations:
125 :     add', compare, and filter.
126 :    
127 :     structure PolyHashTable : POLY_HASH_TABLE
128 :     ==> HashTable : HASH_TABLE
129 :    
130 :     structure PolyArrayQSort : POLY_ARRAY_SORT
131 :     ==> ArrayQSort : ARRAY_SORT
132 :    
133 :     structure Rand : RAND
134 :     ==> Random : RANDOM
135 :    
136 :     structure Random : RANDOM
137 :     ==> Rand : RAND
138 :    
139 :     functor SplayDict (...) : DICT
140 :     ==> SplayMapFn (...) : ORD_MAP
141 :    
142 :     functor SplaySet (...)
143 :     ==> SplaySetFn (...)
144 :    
145 :     structure StringUtil : STRING_UTIL
146 :     Deleted. Use operations from String and Substring structures.
147 :    
148 :     structure StringCvt : STRING_CVT
149 :     Deleted. In SML'97, basic types provide their own conversion
150 :     functions.
151 :    
152 :     structure UnixPath : UNIX_PATH
153 :     ==> structure PathUtil : PATH_UTIL
154 :     Many of the operations defined in the UnixPath structure are
155 :     now part of the OS.FileSys and OS.Path structures in the SML'97
156 :     basis. The remaining operations are findFile and findFiles.
157 :     In addition, two new functions are provided: existsFile and
158 :     allFiles.
159 :    
160 :     --------------------------------------------------------------------
161 :     New modules
162 :     -----------
163 :     KeywordFn
164 :     Hash2TableFn
165 :     structure ParserComb : PARSER_COMB
166 :     structure SimpleURef : UREF
167 :     structure URef : UREF
168 :    
169 :     --------------------------------------------------------------------
170 :     New Libraries
171 :     -------------
172 :     HTML library
173 :     Reactive library
174 : monnier 106 Regular expression library

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