Parser combinators built for speed and memory efficiency
Angstrom is a parser-combinator library written in OCaml that prioritizes speed and memory efficiency for high-performance applications. The library is designed with network protocols and serialization formats in mind, offering monadic and applicative interfaces for composing parsers, along with support for incremental input through both buffered and unbuffered interfaces. It provides backtracking by default and unbounded lookahead, and notably supports integration with monadic concurrency libraries like Async and Lwt. The project originated as a port of the Haskell attoparsec library but has been adapted and optimized for OCaml's memory model and concurrency ecosystem.