O'Reilly logo

Mastering F# by Suhaib Fahad, Alfonso García-Caro Núñez

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Generics

F# functions, discriminated unions, records, and object-oriented style expressions can be generic. Generics are a very intrinsic part of F#. Making your code generic can be simple in F# because your code is often implicitly inferred to be generic by the compiler's type inference and automatic generalization mechanisms.

For an explicit generic function or type, we will need to declare the generic type as <'T> using angle brackets, just like in C#.

    type Calculator<'T> 
    or 
    member this.Add<'T>('T x, 'T y) 

Note

An important difference with C# is that, in F#, we will need to prefix the name of the compiler arguments with an apostrophe.

Implicit declarations, as said, are inferred automatically by the F# compiler. So basically, we can define the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required