[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

Developer notes

Microsoft Corporation, Dave Thomas, Anh-Dung Phan, Tomas Petricek

Modified clone of F# compiler exposing additional functionality for editing clients and embedding F# compiler and F# interactive as services.

Components

There is one main component, FSharp.Compiler.Service.dll. The main aim is to have a stable and documented fork of the main compiler that allows various tools to share this common code.
This component allows embedding F# Interactive as a service and contains a number of modifications to the source code of fsi.exe that adds EvalExpression and EvalInteraction functions.

This repo should be identical to 'fsharp' except:

If language or compiler addiitons are committed to fsharp/fsharp, they should be merged into this repo and a new NuGet package released.

Building and NuGet

The build process follows the standard recommended by F# project scaffold If you want to build the project yourself then you can follow these instructions:

1: 
2: 
git clone https://github.com/fsharp/FSharp.Compiler.Service
cd FSharp.Compiler.Service

Now follow build everything by running build.cmd (Windows) or build.sh (Linux + Mac OS). The output will be located in the bin directory. If you also wish to build the documentation and NuGet package, run build Release (this also attempts to publish the documentation to GitHub, which only works if you have access to the GitHub repository).

Release checklist

Release checklist to publish a new version on nuget.org

  1. Update RELEASE_NOTES.md
  2. Check the version numbers are correct across the source (some files duplicate them)
  3. Commit and add the necessary tag to the repo
  4. Publish the nupkgs for FSharp.Compiler.Service and FSharp.Compiler.Service.ProjectCracker once they appear in AppVeyor artifacts