JetBrains.FSharp.Compiler.Service

The F# compiler services package contains a custom build of the F# compiler that exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications.


Keywords
F#, compiler, editor, fsharp, interactive
License
MIT
Install
Install-Package JetBrains.FSharp.Compiler.Service -Version 28.0.3

Documentation

FSharp.Compiler.Service documentation generation

https://fsharp.github.io/fsharp-compiler-docs

Contributing to Library Content

To improve the content of the FSharp.Compiler.Service library documentation, contribute to the XML /// documentation in the signature files (*.fsi) in the FSharp.Compiler.Service implementation.

The docs are generated by using fsdocs tool from FSharp.Formatting.

Build steps

Eventually the build will just be

dotnet tool restore
dotnet restore FSharp.Compiler.Service
dotnet fsdocs build

For now, we make a fresh build of FSharp.Compiler.Service.

(start in fsharp-compiler-docs)
dotnet restore FSharp.Compiler.Service
dotnet tool restore

(make fsharp-compiler-docs/fsharp)
git clone https://github.com/dotnet/fsharp --depth 1 -b main

(build fsharp-compiler-docs/fsharp) 
pushd fsharp
dotnet build src/Compiler/FSharp.Compiler.Service.fsproj /p:BUILDING_USING_DOTNET=true
popd

Then do iterative development using:

(from fsharp-compiler-docs)
dotnet fsdocs watch --sourcefolder fsharp  --input fsharp/docs

CI Pipeline

This repo is published via GitHub Actions. On each push to main, the docs are built, and the outputs (which are written to the output directory by fsdocs) are pushed to the gh-pages branch. This repo is configured to host using GitHub Pages from this branch.