[Home] Namespace Microsoft.FSharp.Core


Modules (as contributed by assembly 'FSharp.Core')

ModuleDescription
Microsoft.FSharp.Core.Byte Byte (8-bit) operations.
Microsoft.FSharp.Core.Enum Simple operations to convert between .NET enuemration types and integers
Microsoft.FSharp.Core.Float ML-like operations on 64-bit System.Double floating point numbers.
Microsoft.FSharp.Core.Float32 ML-like operations on 32-bit System.Single floating point numbers.
Microsoft.FSharp.Core.Func
Microsoft.FSharp.Core.Int16
Microsoft.FSharp.Core.Int32 Basic operations on 32-bit integers. The type int32 is identical to [[System.Int32]].
Microsoft.FSharp.Core.Int64 Basic operations on 64-bit integers. The type int64 is identical to [[System.Int64]].
Microsoft.FSharp.Core.Int8 Simple operations on signed bytes
Microsoft.FSharp.Core.LanguagePrimitives
Microsoft.FSharp.Core.Operators
Microsoft.FSharp.Core.OptimizedClosures An implementation module used to hold some private implementations of function value invocation.
Microsoft.FSharp.Core.Option Basic operations on options.
Microsoft.FSharp.Core.Pervasives Pervasives: Additional bindings available at the top level
Microsoft.FSharp.Core.SByte Simple operations on signed bytes
Microsoft.FSharp.Core.String Compatibility module for ML string processing. Richer string operations are available via the member functions on strings and other functionality in System.String and System.Text.RegularExpressions types.
Microsoft.FSharp.Core.UInt16
Microsoft.FSharp.Core.UInt32 UInt32: ML-like operations on 32-bit System.UInt32 numbers.
Microsoft.FSharp.Core.UInt64 UInt64: basic operations on 64-bit System.UInt64 numbers.
Microsoft.FSharp.Core.UInt8 Simple operations on unsigned bytes

Type Definitions

TypeDescription
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

Exceptions

ExceptionDescription
exception AssertionFailure This exception is raised as the final result of the syntactic expression 'assert(false)'
exception Failure This exception is precisely the same as the exception 'Failure' in F# code.
exception InvalidArgument This exception is precisely the same as the exception 'Invalid_argument' in F# code.
exception MatchFailure Non-exhaustive match failures will raise the MatchFailure exception

Deprecated/Unsafe Type Definitions

TypeDescription
type IRange

Note: This type will be removed in a future version of F#

type ReifiedType

Note: Consider using typeof instead

The result of an F# typeof operation

See Also

Namespaces


Documentation for assembly FSharp.Core, version 1.9.4.19, generated using F# version 1.9.4.19