-
Notifications
You must be signed in to change notification settings - Fork 90
Closed
Labels
Description
We need to update the Type Provider Authoring SDK (currently called FSharp.TypeProviders.StarterPack).
This is most urgently driven by two needs: using type providers when compiling PCL and .NET Core components. We also need our type providers to be "portable" where possible, so that they can at least be used regardless of whether the F# compiler is run using .NET Core or .NET Framework.
Here are the steps to happiness:
- Support the authoring of type providers which can do PCL code generation when running in a .NET Framework hosted compiler. See PR Support for authoring type providers which target portable profiles #78. Also put in place basic testing and better CI in this repo, see also PR Support for authoring type providers which target portable profiles #78
- Support the authoring of type providers which can do CoreCLR (or “platform standard”) code generation when running in a .NET Framework hosted compiler. This should just be a matter of finding the right reference DLLs.
- Support the authoring of type providers which can do CoreCLR (or “platform standard”) code generation when running in a CoreCLR hosted compiler. This may be trickier as all the code in the SDK needs to be made CoreCLR-friendly
- Support the authoring of type providers which are themselves PCL or CoreCLR or “platform standard” components, and can be used in binary form in either compilers, and can generate code for any target. This should drop out for free from step 3, but we need to check & test
- Rename the SDK to "FSharp.TypeProviders.Authoring" or the like
- Greatly improve the docs, for example addressing Include samples/tests from old f# sample pack #66. We would like the docs to be at least as good as the MSDN docs and walkthroughs.
As part of this I will improve and update the docs in that repo so that they are at least up to the standard of an F# community project like FSharp.Data. There are also good quality docs on MSDN and some other good resources, linked here. Updating the MSDN content would also be great, if only to link across.