Типы, объекты и методы .NET
Проиллюстрируем фрагмент отображения типов языка SML.NET в систему типов Common Type System.
System.Boolean | bool |
System.Byte | Word8.word |
System.Char | char |
System.Double | real |
System.Single | Real32.real |
System.Int32 | int |
System.Int64 | Int64.int |
System.Int16 | Int16.int |
System.Sbyte | Int8.int |
System.String | string |
System.UInt16 | Word16.word |
System.UInt32 | word |
System.UInt64 | Word64.word |
System.Exception | exn |
System.Object | object |
Кроме явного указания типов, в SML.NET предусмотрены средства для ссылки на любой тип иерархии типов .NET. При этом необходимо указывать полное имя объекта, например:
type XMLParser = string -> System.Xml.XmlDocument
Следующая программа иллюстрирует использование типов SML и Common Type System .NET:
structure builtintypes_demo = struct
fun main () = ( print ( "cosh(1.2) = " ^ Real.toString( System.Math.Cosh(1.2)) ^ "\n"); print ( "System.Int32.MinValue = " ^ Int.toString( System.Int32.MinValue) ^ "\n"); print (valOf (System.Char.GetUnicodeCategory( #"Z").#ToString())) )
end