The F# Type Provider SDK
The F# Type Provider SDK (TPSDK) is the standard library for building F# type providers. It provides
ProvidedTypes.fs, a single source file that implements the full Type Provider API, including erased and
generative type definitions, static parameters, quotation support, and cross-targeting infrastructure.
Quick Start
Create a new type provider from the template:
|
Documentation
Install the template, understand the project structure, and build your first erased type provider with a constructor, property, and method. |
|
Erased vs generative providers, testing, debugging, and packaging overview. |
|
Static parameters, quotations, generative providers, all member kinds, interfaces, enumerations, nested types, XML docs, custom attributes, units of measure, non-nullability, and abstract classes. |
|
NuGet package layout, how |
|
SI units, compound units, custom units, and annotating numeric types with |
|
Design-time vs runtime components, naming conventions, NuGet package layout, lifetime of type provider instances, quotation construction, and API reference for key features. |
|
How to debug a type provider running inside |
Examples
See the examples directory
for BasicProvider (both erased and generative variants) and StressProvider.
Using the SDK via NuGet
Instead of source-including ProvidedTypes.fs, you can reference the SDK as a NuGet package in the
design-time component:
|
The runtime component should not reference FSharp.TypeProviders.SDK.
FSharp.TypeProviders.SDK