fsprojects / FSharp.TypeProviders.SDK

The SDK for creating F# type providers
https://fsprojects.github.io/FSharp.TypeProviders.SDK/
MIT License
298 stars 94 forks source link

Long term aim: Remove duplicated binary reader #298

Open dsyme opened 5 years ago

dsyme commented 5 years ago

The TPSDK contains 2000 lines of an IL binary reader to allow it to properly generate code (both reflection-emit and quotations) for the target set of reference assemblies.

This is problematic for two reasons

  1. There is resource duplication of IL binary readers with the host tool (devenv.exe, fsc.exe, fsi.exe etc), which are known to be hard to cache/share well. This is the cause of some recent resource usage issues with TPs in host tooling.

  2. There is code duplication ("yet another binary reader") - we would much prefer to use a standard binary reader and remove a few thousand lines from ProvidedTypes.fs

This is being discussed here https://github.com/Krzysztof-Cieslak/notes/issues/1#issuecomment-481221998