Type | Description |
type [,,,] |
Four dimensional arrays, typically zero-based. Non-zero-based arrays
can be created using methods on the System.Array type.
|
type [,,] |
Three dimensional arrays, typically zero-based. Non-zero-based arrays
can be created using methods on the System.Array type.
|
type [,] |
Two dimensional arrays, typically zero-based.
Use the values in the [[Array2]] module
to manipulate values of this type, or the notation 'arr.[x,y]' to get/set array
values. When using .NET 1.x use the values in the [[CompatArray2]]
module.
Non-zero-based arrays can be created using methods on the System.Array type.
|
type [] |
Single dimensional, zero-based arrays, written 'int[]', 'string[]' etc.
Use the values in the [[Array]] module to manipulate values
of this type, or the notation 'arr.[x]' to get/set array
values. When using .NET 1.x use the values in the [[CompatArray]]
module.
|
type AbstractClassAttribute |
Adding this attribute to class definition makes it abstract, which means it need not
implement all its methods. Instances of abstract classes may not be constructed directly.
|
type array |
Single dimensional, zero-based arrays, written 'int[]', 'string[]' etc.
Use the values in the [[Array]] module to manipulate values
of this type, or the notation 'arr.[x]' to get/set array
values. When using .NET 1.x use the values in the [[CompatArray]]
module.
Note: an abbreviation for 'a [] |
type AutoSerializableAttribute |
Adding this attribute to a type with value 'false' disables the behaviour where F# makes the
type Serializable by default.
|
type bigint | Note: an abbreviation for BigInt |
type bignum | Note: an abbreviation for BigNum |
type bool | Note: an abbreviation for Boolean |
type byref |
The type for by-reference, stack-allocated argument passing. It is used
by .NET assemblies and by the type [[IStructuralHash]] to
pass the hash-node-count around. Use of this type in F# code may result in
unverifiable code being generated.
|
type byte | Note: an abbreviation for Byte |
type char | Note: an abbreviation for Char |
type Choice |
Helper types for active patterns with 2 choices.
|
type Choice |
Helper types for active patterns with 3 choices.
|
type Choice |
Helper types for active patterns with 4 choices.
|
type Choice |
Helper types for active patterns with 5 choices.
|
type Choice |
Helper types for active patterns with 6 choices.
|
type Choice |
Helper types for active patterns with 7 choices.
|
type ClassAttribute |
Adding this attribute to a type causes it to be represented using a .NET class.
|
type CompilationMappingAttribute |
This attribute is inserted automatically by the F# compiler to tag
types and methods in the gneerated .NET code with flags indicating the correspondence with
original source constructs. It is used by the functions in the
Microsoft.FSharp.Reflection library to reverse-map compiled constructs
to their original forms. It is not intended for use from use code.
|
type CompilationRepresentationAttribute |
This attribute is used to adjust the runtime representation for a type.
For example, it may be used to note that the 'null' representation
may be used for a type. This affects how some constructs are compiled.
|
type CompilationRepresentationFlags | |
type decimal | Note: an abbreviation for Decimal |
type DefaultAugmentationAttribute |
Adding this attribute to a discriminated union with value false
turns off the generation of standard helper member tester, constructor
and accessor members for the generated .NET class for that type.
|
type DefaultValueAttribute |
Adding this attribute to a field declaration
means that the field is not initialized in the turns off the generation of standard helper member tester, constructor
and accessor members for the generated .NET class for that type. During
type checking constraint is asserted that the field type support 'null'.
If the 'check' value is false then the constraint is not asserted.
|
type double | Note: an abbreviation for Double |
type EntryPointAttribute |
Adding this attribute to a function indicates it is the entrypoint for an application.
If this absent is not speficied for an EXE then the initialization implicit in the
module bindings in the last file in the compilation sequence are used as the entrypoint.
|
type exn | Note: an abbreviation for Exception |
type ExperimentalAttribute |
This attribute is used to tag values that are part of an experimental library
feature
|
type FastFunc |
The .NET type used to represent F# function values. This type is not
typically used directly, though may be used from other .NET languages.
|
type float | Note: an abbreviation for Double |
type float32 | Note: an abbreviation for Single |
type FSharpInterfaceDataVersionAttribute |
This attribute is added to generated assemblies to indicate the
version of the data schema used to encode additional F#
specific information in the resource attached to compiled F# libraries.
|
type FuncConvert | |
type GeneralizableValueAttribute |
Adding this attribute to a non-function value with generic parameters indicates that
uses of the construct can give rise to generic code through type inference.
|
type ilsigptr |
This type is for internal use by the F# code generator
|
type int | Note: an abbreviation for int32 |
type int16 | Note: an abbreviation for Int16 |
type int32 | Note: an abbreviation for Int32 |
type int64 | Note: an abbreviation for Int64 |
type int8 | Note: an abbreviation for SByte |
type InterfaceAttribute |
Adding this attribute to a type causes it to be represented using a .NET interface.
|
type IStructuralHash | |
type LiteralAttribute |
Adding this attribute to a value causes it to be compiled as a .NET constant literal.
|
type matrix |
The type of floating-point matrices. See Microsoft.FSharp.Math
Note: an abbreviation for matrix |
type nativeint | Note: an abbreviation for IntPtr |
type nativeptr |
The type of machine pointers assumed to be pointing to
unmanaged or pinned memory containing values or an array of
values of the given type.
This type should only be used when writing F# code that interoperates
with C code. Use of this type in F# code may result in
unverifiable code being generated. Conversions to and from the
[[nativeint]] type may be required. Values of this type can be generated
by the functions in the NativeInterop.NativePtr module.
|
type obj | Note: an abbreviation for Object |
type OCamlCompatibilityAttribute |
This attribute is used to tag values, modules and types that are only
present in F# to permit a degree of code-compatibility and cross-compilation
with other implementations of ML-familty languages, in particular OCaml. The
use of the construct will give a warning unless the --ml-compatibility flag
is specified.
|
type option |
The type of optional values. When used from other .NET languages the
empty option is the 'null' value.
Use the constructors [[Some]] and [[None]] to create values of this type.
Use the values in the [[Option]] module to manipulate values of this type,
or pattern match against the values directly.
'None' values will appear as the value 'null' to other .NET languages.
Instance methods on this type will appear as static methods to other .NET languages
due to the use of 'null' as a value representation.
Note: an abbreviation for Option<'a> |
type Option |
The type of optional values. When used from other .NET languages the
empty option is the 'null' value.
Use the constructors [[Some]] and [[None]] to create values of this type.
Use the values in the [[Option]] module to manipulate values of this type,
or pattern match against the values directly.
'None' values will appear as the value 'null' to other .NET languages.
Instance methods on this type will appear as static methods to other .NET languages
due to the use of 'null' as a value representation.
|
type OptionalArgumentAttribute |
This attribute is added automatically for all optional arguments
|
type OverloadIDAttribute |
Adding the OverloadID attribute to a member permits it to
be part of a group overloaded by the same name and arity. The string
must be a unique name amongst those in the overload set. Overrides
of this method, if permitted, must be given the same OverloadID,
and the OverloadID must be specified in both signature and implementation
files if signature files are used.
|
type ref |
The type of mutable references. Use the functions [:=] and [!] to get and
set values of this type.
Note: an abbreviation for Ref<'a> |
type Ref |
The type of mutable references. Use the functions [:=] and [!] to get and
set values of this type.
|
type ReferenceEqualityAttribute |
Adding this attribute to a record or union type disables the automatic generation
of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()'
and 'System.IComparable' for the type. The type will by default use reference equality.
This is identical to adding attributes StructuralEquality(false) and StructuralComparison(false).
|
type ReflectedDefinitionAttribute |
Adding this attribute to the let-binding for the definition of a top-level
value makes the quotation expression that implements the value available
for use at runtime.
|
type RequiresExplicitTypeArgumentsAttribute |
Adding this attribute to a type, value or member requires that
uses of the construct must explicitly instantiate any generic type parameters.
|
type rowvec |
The type of floating-point row vectors. See Microsoft.FSharp.Math
Note: an abbreviation for rowvec |
type sbyte | Note: an abbreviation for SByte |
type SealedAttribute |
Adding this attribute to class definition makes it sealed, which means it may not
be extended or implemented.
|
type seq | Note: an abbreviation for IEnumerable<'a> |
type single | Note: an abbreviation for Single |
type SourceLevelConstruct | |
type string | Note: an abbreviation for String |
type StructAttribute |
Adding this attribute to a type causes it to be represented using a .NET struct.
|
type StructuralComparisonAttribute |
Adding this attribute to a record, union or struct type with value 'false' disables the automatic generation
of implementations for 'System.IComparable' for the type.
|
type StructuralEqualityAttribute |
Adding this attribute to a record, union or struct type with value 'false'
confirms the automatic generation of overrides for 'System.Object.Equals(obj)'
and 'System.Object.GetHashCode()' for the type. This attribute is usually used in
conjunction with StructuralComparison(false) to generate a type that supports
structural equality but not structural comparison.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type Tuple |
Compiled versions of F# tuple types. These are not used directly, though
these compiled forms are seen by other .NET languages.
|
type TypeFunc |
The .NET type used to represent F# first-class type function values. This type is not
typically used directly.
|
type uint16 | Note: an abbreviation for UInt16 |
type uint32 | Note: an abbreviation for UInt32 |
type uint64 | Note: an abbreviation for UInt64 |
type uint8 | Note: an abbreviation for Byte |
type unativeint | Note: an abbreviation for UIntPtr |
type unit |
The type 'unit', which has only one value "()". This value is special and
always uses the representation 'null'.
Note: an abbreviation for Unit |
type Unit |
The type 'unit', which has only one value "()". This value is special and
always uses the representation 'null'.
|
type UnverifiableAttribute |
This attribute is used to tag values whose use will result in the generation
of unverifiable code. These values are inevitably marked 'inline' to ensure that
the unverifiable constructs are not present in the actual code for the F# library,
but are rather copied to the source code of the caller.
|
type vector |
The type of floating-point vectors. See Microsoft.FSharp.Math
Note: an abbreviation for vector |