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

SCM Repository

[smlnj] View of /smlnj-lib/trunk/PORTING
ViewVC logotype

View of /smlnj-lib/trunk/PORTING

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2144 - (download) (annotate)
Thu Nov 2 16:23:11 2006 UTC (12 years, 9 months ago) by blume
File size: 4710 byte(s)
moved smlnj-lib to toplevel
Here is a brief description of the changes since the 0.3beta release of
the SML/NJ library in 1994.  Modules are listed in alphabetical order.

--------------------------------------------------------------------
Summary
-------
    - eliminate weak types in signatures.

    - name changes to track SML Basis conventions.
	- change names, argument order of iteration combinators
	- use MONO_XXX/XXX instead of XXX/POLY_XXX for signatures.

    - consolidate signatures
	- e.g., use ORD_MAP for the Int*Map structures.

    - Name structure is renamed Atom.
	- removed name_tbl type and operations and define free-standing
	  structures AtomBinaryMap, AtomBinarySet and AtomTable.

    - split Format structure into Format and Scan

    - moved Unix specific modules to Unix library (use unix-lib.cm
      in sources file to access).

    - remove signatures and structures that are redundant with the
      SML Basis Library.

--------------------------------------------------------------------
Detailed Changes
----------------

functor ArrayQSort (...) : ARRAY_SORT
	==>	ArrayQSortFn (...) : MONO_ARRAY_SORT

structure BigInt : BIGINT
	==>	IntInf : INT_INF
	The IntInf structure mostly matches that defined by SML'97.

functor BinaryDict(...) : DICT
	==>	BinaryMapFn(...) : ORD_MAP

functor BinarySet(...)
	==>	BinarySetFn(...)

structure CType : CTYPE
	Deleted.  Use operations from Char structure in basis.

signature DICT
	==>	ORD_MAP
	Also, various function names changed to track the SML'97 naming
	conventions:
		val find : ...
			Deleted.
		val peek : ...
			==> find : ...
		val listItems : ...
			==> listItemsi : ...
		val app : ...
			==> appi : ...
		val revapp : ...
			Deleted.
		val map : ...
			==> mapi : ...
		val fold : ...
			==> foldr
		val revfold : ...
			==> foldl
		val transform : ...
			==> map : ...
	Also, the ORD_MAP interface provides the following new operations:
	insert', listItems, collate, unionWith, unionWithi, intersectWith,
	intersectWithi, app, foldl, foldr, filter, filteri, mapPartial,
	and mapPartiali.

structure Finalizer : FINALIZER
	Deleted.  No replacement as of yet.

structure Format : FORMAT
	The scanning functions were moved to a new module (Scan : SCAN).
	Also, the fmt_item datatype has changed.

functor HashTable (...) : HASH_TABLE
	==>	HashTableFn (...) : MONO_HASH_TABLE

structure IntMap : INTMAP
	==>	IntBinaryMap : ORD_MAP
	also	IntListMap : ORD_MAP

structure IntSet : INTSET
	==>	IntBinarySet : ORD_MAP
	also	IntListSet : ORD_MAP

structure LibBase
	Uses of the LibBase.BadArg exception have been replaced by
	the Fail exception from the SML'97 basis.  The function
	LibBase.failure replaces LibBase.badArg.
	Uses of the type LibBase.relation have been replaced by the
	order type from the SML'97 basis.
	The type of the version value has changed, and the value
	versionName is now called banner.

structure ListUtil : LIST_UTIL
	Deleted.  Use the operations from List and ListPair in the
	SML'97 basis.

structure Name : NAME
	==>	Atom : ATOM
	and	AtomTable : ATOM_TABLE

structure MakeString : MAKESTRING
	Deleted.  In SML'97, basic types provide their own conversion
	functions.

signature ORD_SET
	Many function names changed to track the SML'97 naming conventions:
		val find : ...
			Deleted
		val peek : ...
			==> find : ...
		val fold : ...
			==> foldr : ...
		val revfold : ...
			==> foldl : ...
	Also, the ORD_SET interface provides the following new operations:
	add', compare, and filter.

structure PolyHashTable : POLY_HASH_TABLE
	==>	HashTable : HASH_TABLE

structure PolyArrayQSort : POLY_ARRAY_SORT
	==>	ArrayQSort : ARRAY_SORT

structure Rand : RAND
	==>	Random : RANDOM

structure Random : RANDOM
	==>	Rand : RAND

functor SplayDict (...) : DICT
	==>	SplayMapFn (...) : ORD_MAP

functor SplaySet (...)
	==>	SplaySetFn (...)

structure StringUtil : STRING_UTIL
	Deleted.  Use operations from String and Substring structures.

structure StringCvt : STRING_CVT
	Deleted.  In SML'97, basic types provide their own conversion
	functions.

structure UnixPath : UNIX_PATH
	==> structure PathUtil : PATH_UTIL
	Many of the operations defined in the UnixPath structure are
	now part of the OS.FileSys and OS.Path structures in the SML'97
	basis.  The remaining operations are findFile and findFiles.
	In addition, two new functions are provided: existsFile and
	allFiles.

--------------------------------------------------------------------
New modules
-----------
KeywordFn
Hash2TableFn
structure ParserComb : PARSER_COMB
structure SimpleURef : UREF
structure URef : UREF

--------------------------------------------------------------------
New Libraries
-------------
HTML library
Reactive library
Regular expression library

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