Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

denful/bend

Repository files navigation

Sponsor Vic Ask DeepWiki Dendritic Nix License CI Status

bend and vic's dendritic libs made for you with Love++ and AI--. If you like my work, consider sponsoring

Bend. Lens based data parser-combinators. Bidirectional transformation and validation pipelines for Nix.

Bend draws from Haskell profunctor optics, Scala's Either, the adapt primitive from denful/nfx and parser-combinators.

The core idea is Parse, Don't Validate: a validator for non-empty lists that returns true is discarding the proof it just computed; instead if the function returns left empty or right { head; tail; }, the data structure is the proof. Every lens either refines data as proof on right or returns invalid data on left.

Bend’s combinator names deliberately match parser-combinator vocabulary: This is not cosmetic. The names signal that Bend is a parser combinator library, one that operates on Nix data structures instead of character streams, and that happens to also support bidirectional writes.

Install

Bend has no dependencies

# flake.nix
inputs.bend.url = "github:denful/bend";
bend = inputs.bend.lib;
# default.nix
bend = import bend-sources.outPath;

Bend uses 0-based versioning. v0.x

About

Lens based data parser-combinators. Bidirectional transformation and validation pipelines for Nix.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /