Make F# AST parser available without all of FCS
- Dominant language
- F#
- Stars
- 4.3k
- Forks
- 876
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 144
Description
I have some projects which want to manipulate F# ASTs. Doing so generally requires a dependency on the full FSharp.Compiler.Services, as I understand it, and that's a pretty heavyweight dependency; for example, it requires the latest FSharp.Core.
Concrete example: I recently wrote an expect-testing framework [WoofWare.Expect](https://github.com/Smaug123/WoofWare.Expect), which just wants to do dumb string manipulation, locating string literals and doing source text replacement on them.
**Describe the solution you'd like**
Separate out AST parsing into a separate NuGet package with extremely lightweight dependencies (old FSharp.Core, etc). This should be sufficient to obtain and inspect ASTs. Ideally it would be possible to use this library to do some very basic output of F# source code for a given AST, but that's not completely necessary (Fantomas is the correct tool for that).
It would be fine to have this library extremely tightly version-coupled to FCS.
**Describe alternatives you've considered**
None
Contributor guide
Assessment
This issue has not been assessed yet.