fscx is an alternative F# compiler which enables to replace AST at compile time.
F# C# Shell Batchfile


Expandable F# compiler (fscx)


Expandable F# compiler (fscx) is an alternative F# compiler which enables to replace F#'s AST at compile time.

  • TODO: This project is still work in progress, and need more documents.


NuGet (build) NuGet fscx build
NuGet (core lib) NuGet fscx core
CI (AppVeyor) AppVeyor fscx
Issue status Issue Stats
Pull req PR Stats
Gitter chat Gitter char

How fscx works?

For filter users

fscx can apply user defined filters at compile time. To use fscx, you need to install fscx's filter packages via NuGet.

For filter users

For filter developers

For developers who want to create filters, you need to install FSharp.Expandable.Compiler.Core via NuGet to your project, build the project to create a nupkg, and then publish the nupkg file.

For filter developers


Building architechture overall illustrated:



Sample filter projects (For filter developer)

See also fscx-sample-filters.