fsharp-env-capabilities
Installation
SKILL.md
F# environment capabilities
Each function takes env as its first parameter. A capability is an interface with one property
that exposes a worker interface. A function names only the capabilities it uses, through a
flexible type #IProvideX. A composite that calls several functions gets the union of their
capabilities by inference, with no new parameter. The caller passes one object that implements
every capability the call tree names. Sources: Bartosz Sypytkowski,
Dealing with complex dependency injection in F#,
and the bridge to ASP.NET Core DI, Fsharp-DI-Bridge.
A runnable proof with a test env, a container env, and two compile-time break tests lives in
scripts/. Read references/FINDINGS.md for output you can
compare against.