2 unstable releases
0.2.0 | Nov 8, 2021 |
---|---|
0.1.0 | Oct 25, 2021 |
#2019 in Rust patterns
6KB
133 lines
birds
Combinators implemented in Rust named after Raymond Smullyan's birds.
This is just a hobby project to give myself an excuse to explore combinatory logic and Rust generics.
Lambda calculus and Haskell use single argument functions that return another function to "simulate" multiple arguments. Implementing such ideas in Rust can quickly get annoying in Rust both due to the ()
syntax used to invoke functions and the need to Box
our closures. Therefore I've simply used multiple arguments in such cases. (If you have any better ideas please file an issue detailing your idea)
Combinators
- Bluebird
- Cardinal
- Dove
- Eagle
- Finch
- Goldfinch
- Hummingbird
- Identity Bird
- Jay
- Kestrel
- Lark
- Mockingbird
- Owl
- Queer Bird
- Quixotic Bird
- Quirky Bird
- Robin
- Sage bird
- Starling
- Thrush
- Turing bird
Credits
- To Mock a Mockingbird for the cute names.
- data.aviary.birds for providing the awesome type signatures and the idea for this library.
- Combinator birds for providing a nice list of all the birds.