Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@hseeberger
hseeberger / fibs.rs
Last active July 27, 2023 11:25
Fibonacci numbers in Rust
use std::iter;
fn main() {
println!("{:?}", fibs_iter().skip(42).next().unwrap());
println!("{}", fibs_recursive(42));
}
fn fibs_iter() -> impl Iterator<Item = u128> {
let mut a = 0;
let mut b = 1;
@hseeberger
hseeberger / monad.rs
Last active November 4, 2022 12:30
Monad in Rust using GAT
trait Monad<A> {
type M<X>: Monad<X>;
fn unit(a: A) -> Self::M<A>;
fn bind<B, F>(self, f: F) -> Self::M<B>
where
F: FnMut(A) -> Self::M<B>;
}