• 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.