Rust version:
const fn factorial(n: u128) -> u128 { match n { 0 => 1, _ => n * factorial(n-1) } }
fn main() { dbg!(factorial(20)); }
const fn factorial(n: u128) -> u128 { match n { 0 => 1, _ => n * factorial(n-1) } }
fn main() { dbg!(factorial(20)); }
Rust does not support view pattern (called in Haskell) or app pattern (called in Racket). And that has been implemented in this library.