fsharp-signature-files
Installation
SKILL.md
F# signature files
A .fsi file is the contract of its .fs file. A value or type that is not in the
.fsi is hidden from every later file and every other assembly. A type that the .fsi
declares with no body (type Email) hides its fields and cases.
The compiler can write a .fsi for you, but that output repeats every public member.
It hides nothing. The work is to remove what callers do not use.
Build time can also improve. Later files type-check against the .fsi, not the
.fs, so graph-based type checking can check them in parallel with the implementation.
Measure this before you claim a speed-up. See
optimize-fsharp-typecheck-graph.
Steps
- Record the public surface before the change. Build the library and run: