diff --git a/README.md b/README.md index df57273..c04e3ea 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,12 @@ A Pup format descriptor for the same type could look like <|> #D <* chunk "D" <* space1 <*> anySingle <* space1 <*> bool <* space1 <*> int ``` -But the Pup descriptor can pretty-print in addition to parse. +But the Pup descriptor can pretty-print in addition to parse. See also [our +introductory blog post][blog-post]. ## Some underlying principles -Our article _Invertible Syntax without the Tuples_ (published version (TBA), +Our article _Invertible Syntax without the Tuples_ ([published version][paper], [extended version with appendices][paper-extended]) goes over a lot of the design decisions which went into the Pup library, in particular how it compares with previous approaches. @@ -72,6 +73,8 @@ Now you know. [functional-unparsing-paper]: https://www.cambridge.org/core/journals/journal-of-functional-programming/article/functional-unparsing/789945109AD2AB168B504472E6B786A0 [Cassette]: https://github.com/mboes/cassette/ +[blog-post]: https://www.tweag.io/blog/2026-01-08-grammar-combinators/ +[paper]: https://dl.acm.org/doi/10.1145/3759427.3760381 [paper-extended]: https://arxiv.org/abs/2508.09856 [Megaparsec]: https://hackage.haskell.org/package/megaparsec [Prettyprinter]: https://hackage.haskell.org/package/prettyprinter diff --git a/package.yaml b/package.yaml index 945fe6d..91caa83 100644 --- a/package.yaml +++ b/package.yaml @@ -1,7 +1,7 @@ spec-version: 0.36.0 name: pup -version: 0.1.0 +version: 0.1.1 synopsis: "Invertible format descriptors" description: "Please see README.md." author: ["Arnaud Spiwack"] diff --git a/pup.cabal b/pup.cabal index 7c43a67..7f4e9f3 100644 --- a/pup.cabal +++ b/pup.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: pup -version: 0.1.0 +version: 0.1.1 synopsis: Invertible format descriptors description: Please see README.md. homepage: https://github.com/tweag/pup#readme