fscx is an alternative F# compiler which enables to replace AST at compile time.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.paket
docs
lib
src
tests
.gitignore
LICENSE
README.md
RELEASE_NOTES.md
appveyor.yml
build.cmd
build.fsx
build.sh
fscx.sln
paket.dependencies
paket.lock

README.md

Expandable F# compiler (fscx)

fscx-projects

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.

Status

NuGet (build) NuGet fscx build
NuGet (core lib) NuGet fscx core
NuGet (aspect lib) NuGet aspect lib
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

Overall

Building architechture overall illustrated:

Overall

Resources

Sample filter projects (For filter developer)

See also fscx-sample-filters.

Maintainer(s)