• Lauchmelder@feddit.de
    link
    fedilink
    Deutsch
    arrow-up
    2
    ·
    edit-2
    9 months ago

    it can compute how often I needed to compute the value of calling a function an infinite number of times.

    println!("0");
    
    • PoolloverNathan@programming.dev
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      9 months ago

      If you’ve used a parser library’s recursive parser, you have infinite calls right there. If it supplies a recursive-parser function, that function is a type-limited equivalent to fix, which performs the infinite call operation. Your Rust library most likely implements recursion using hidden mutability, but in Haskell, your parsers can remain infinitely-recursive while still referencing themselves and immutable.

      Also, we get to ask people if they know what a monad is.