| Crates.io | fix_fn |
| lib.rs | fix_fn |
| version | 1.0.2 |
| created_at | 2020-05-31 13:09:41.936191+00 |
| updated_at | 2020-05-31 20:12:09.000125+00 |
| description | Macro to create recursive closures (similar to the Y combinator). |
| homepage | https://crates.io/crates/fix_fn |
| repository | https://github.com/SrTobi/fix_fn |
| max_upload_size | |
| id | 248154 |
| size | 7,548 |
This library enables the creation of recursive closures by providing a
single macro fix_fn. The functionality is similar to the
Y combinator.
Recursive closures can have arbitrary amounts of parameters and can capture
variables.
use fix_fn::fix_fn;
let fib = fix_fn!(|fib, i: u32| -> u32 {
if i <= 1 {
i
} else {
// fib will call the closure recursively
fib(i - 1) + fib(i - 2)
}
});
assert_eq!(fib(7), 13);