wildling
F# library and CLI for pattern-based string generation. Zero NuGet dependencies (.NET BCL only). Targets .NET 8.
Docs: Website · Sandbox · Syntax · Source
Registry: NuGet
Example
Install
From this repository:
cd fsharp
./build.sh
./bin/wildling "Year 19##"
From a release tag:
git clone --branch v2.0.0 --depth 1 https://github.com/dotmonk/wildling.git
cd wildling
./build.sh fsharp
Registry: NuGet (when published)
Produces dist/wildling.dll (and dependencies). Requires the .NET 8 runtime, or Docker (the launcher falls back to the runtime image if dotnet is not on PATH).
As a library, reference the project or published assembly:
open WildlingLib
let wildling = Wildling.Create([ "Year 19##" ])
let mutable value = wildling.Next()
while not (match value with :? bool as b -> b = false | _ -> false) do
printfn "%O" value
value <- wildling.Next()
CLI
./bin/wildling "Year 19##"
./bin/wildling --dictionary planets:../dictionaries/planets.txt "%{'planets'}"
./bin/wildling --template ./config.json
Help text and --check output follow docs/cli.md / docs/help.txt.
Build
./build.sh # Docker (dotnet SDK 8): publish to dist/, copies help.txt
Project tests live in ../tests/ and are run with ../test.sh.