运算符
比较运算符
=|<>|>| <|>=|<=
布尔运算符
&& || not
位运算符
&&& 、|||、^^^、~~~、<<<、>>>
记录
type recordName= { [filedName : dataType ;]+ }
映射(Map)
[ (filedKey, filedValue) ; ]
差别联合
type type-name =<br> | case-identifier1 [of [ fieldname1 : ] type1 [ * [ fieldname2 : ] <br>type2 ...]<br> | case-identifier2 [of [fieldname3 : ]type3 [ * [ fieldname4 : ]type4 ...]<br>...<br>
可变字典
Dictionary<TKey,TValue>
泛型
// Explicitly generic function.<br>let function-name<type-parameters> parameter-list =<br> function-body<br><br>// Explicitly generic method.<br>[ static ] member object-identifer.method-name<type-parameters> parameter-list [ return-type ] =<br> method-body<br><br>// Explicitly generic class, record, interface, structure,<br>// or discriminated union.<br>type type-name<type-parameters> type-definition
接口
// Interface declaration:<br>[ attributes ]<br>type interface-name =<br> [ interface ]<br> [ inherit base-interface-name ...]<br> abstract member1 : [ argument-types1 -> ] return-type1<br> abstract member2 : [ argument-types2 -> ] return-type2<br> ...<br> [ end ]<br> <br>// Implementing, inside a class type definition:<br>interface interface-name with<br> member self-identifier.member1 argument-list = method-body1<br> member self-identifier.member2 argument-list = method-body2<br>// Implementing, by using an object expression:<br>[ attributes ]<br>let class-name (argument-list) =<br> { new interface-name with<br> member self-identifier.member1 argument-list = method-body1<br> member self-identifier.member2 argument-list = method-body2<br> [ base-interface-definitions ]<br> }<br>member-list