angstrom
Parser combinators built for speed and memory efficiency (by inhabitedtype)
attoparsec
A fast Haskell library for parsing ByteStrings (by haskell)
angstrom | attoparsec | |
---|---|---|
3 | 6 | |
616 | 509 | |
1.3% | 0.6% | |
0.0 | 3.7 | |
4 months ago | 14 days ago | |
OCaml | Haskell | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
angstrom
Posts with mentions or reviews of angstrom.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-22.
-
Anyone have suggestions on how to parse recursive grammar elements with a parser generator?
Looking at the angstrom reference here I've explored a few ideas but none of them work.
- Parser Combinators in Haskell
-
Is Ocaml From the beginning a good book? Where to learn about multicore Ocaml? Is this a good project skeleton?
Do you specifically need an LR(1) parser? If you just need to do some simple parsing, a parser combinator library like Angstrom works fine and is completely defined in OCaml code: https://github.com/inhabitedtype/angstrom
attoparsec
Posts with mentions or reviews of attoparsec.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-24.
-
Functional Implementation of a parser?
The basic idea is to create a state monad (usually using the State monad transformer) which contains a string to be parsed, and which also lifts other monad transformers like Except for throwing syntax errors. Or you can use a parser combinator like Parser provided by a parsing library like Megaparsec or Attoparsec that defines an efficient State+Except monad transformer combination for you.
-
Haskell - Important Libraries
attoparsec
-
On a daily base in this sub
good libraries for parsing: parsec, attoparsec etc.
- Parser Combinators in Haskell
-
Splitting html tags string into list of string
The more "idiomatic" way would be to use a parser library, e.g. parsec, attoparsec, or megaparsec. But even then I think it would be a lot easier to maintain if you could preserve the angle brackets <> in the input.
-
Ditch regex for parser combinators, a Rust / nom step-by-step guide
- https://hackage.haskell.org/package/attoparsec - https://hackage.haskell.org/package/megaparsec
What are some alternatives?
When comparing angstrom and attoparsec you can also consider the following projects:
ocaml-parsing - Boilerplate code for writing parsers in OCaml using Menhir + sedlex
megaparsec - Industrial-strength monadic parser combinator library
comby - A code rewrite tool for structural search and replace that supports ~every language.
parsec - A monadic parser combinator library
generator - Generator module.
attoparsec-parsec - An Attoparsec compatibility layer for Parsec
assert-combinators - Functional assertion combinators.
attoparsec-data - Parsers for the standard Haskell data types
morbig - A static parser for POSIX Shell
parsers - Generic parser combinators
multicore-opam - OPAM repo for OCaml multicore development
parser-combinators - Lightweight package providing commonly useful parser combinators
angstrom vs ocaml-parsing
attoparsec vs megaparsec
angstrom vs comby
attoparsec vs parsec
angstrom vs generator
attoparsec vs attoparsec-parsec
angstrom vs assert-combinators
attoparsec vs attoparsec-data
angstrom vs morbig
attoparsec vs parsers
angstrom vs multicore-opam
attoparsec vs parser-combinators