packages feed

Cabal revisions of syntax-1.0.0.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:                syntax-version:             1.0.0.0-synopsis:            Reversible parsing and pretty-printing.-description:-  "syntax" allows you to write a single syntax description and instantiate is both as a parser and a pretty printer.-  .-  Syntax descriptions are written in applicative or arrow style. The library uses a custom typeclass hierarchy, provided-  by the "semi-iso" package. Most of the time you will be using operators like '/$/', '/*/' and '/+/' (= '<|>'), just-  like parser combinators. When more power is needed - e.g. when the syntax depends on the parsed or printed value --  you turn to arrows.-  .-  Semi-isomorphisms from "semi-iso" are the basic building block of syntax descriptions. I recommend reading-  the hackage page of "semi-iso" first, as it contains much more information.-  .-  Once you write a syntax description (polymorphic in the syntax category) you can instantiate it both as a parser or as-  a pretty-printer. The library "syntax-attoparsec" gives you the ability to extract an Attoparsec parser. Pretty-printing-  is implemented by the "syntax-printer" library, which uses Text and ByteString builders. (Note that formatting is handled-  by "syntax" itself, not by the printer library)-  .-  Advanced formatting and parsing (for example indentation, haskell layout rule) is implemented as category transformers-  (similar to monad transformers). Currently only simple indentation is implemented (in "Data.Syntax.Indent") - basically-  a reader category transformer that tracks current indentation level. I plan on implementing Haskell layout rule in the-  future.-  .-  The library can work with both text and binary data. Alas, there are no binary combinators implemented yet.-  I will implement them when i have the time (but these category transformers look so much more interesting for now ;).-  .-  EXAMPLES! See @syntax-example@ and @syntax-example-json@ for examples.-  .-  * "syntax-example" implements a simple lambda calculus.-  .-  * "syntax-example-json" implements a json parser and pretty printer.-license:             MIT-license-file:        LICENSE-author:              Paweł Nowak-maintainer:          Paweł Nowak <pawel834@gmail.com>-copyright:           Paweł Nowak 2014-category:            Data-build-type:          Simple-cabal-version:       >=1.10--source-repository head-  type:     git-  location: git@github.com:Pawel834/syntax.git--library-  exposed-modules:     Data.Syntax-                       Data.Syntax.Char-                       Data.Syntax.Combinator-                       Data.Syntax.Indent-  build-depends:       base >= 4 && < 5, mono-traversable, lens >= 4, semi-iso >= 1, scientific >= 0.3, text, vector-  default-language:    Haskell2010+name:                syntax
+version:             1.0.0.0
+x-revision: 1
+synopsis:            Reversible parsing and pretty-printing.
+description:
+  UPDATE: I have a lot of work now and so I haven't updated the library in a while. However once I get some free time I will probably rewrite it with a new, cleaner design (focused more on adjoints then isomorphisms). Consider this package very experimental :)
+  .
+  "syntax" allows you to write a single syntax description and instantiate is both as a parser and a pretty printer.
+  .
+  Syntax descriptions are written in applicative or arrow style. The library uses a custom typeclass hierarchy, provided
+  by the "semi-iso" package. Most of the time you will be using operators like '/$/', '/*/' and '/+/' (= '<|>'), just
+  like parser combinators. When more power is needed - e.g. when the syntax depends on the parsed or printed value -
+  you turn to arrows.
+  .
+  Semi-isomorphisms from "semi-iso" are the basic building block of syntax descriptions. I recommend reading
+  the hackage page of "semi-iso" first, as it contains much more information.
+  .
+  Once you write a syntax description (polymorphic in the syntax category) you can instantiate it both as a parser or as
+  a pretty-printer. The library "syntax-attoparsec" gives you the ability to extract an Attoparsec parser. Pretty-printing
+  is implemented by the "syntax-printer" library, which uses Text and ByteString builders. (Note that formatting is handled
+  by "syntax" itself, not by the printer library)
+  .
+  Advanced formatting and parsing (for example indentation, haskell layout rule) is implemented as category transformers
+  (similar to monad transformers). Currently only simple indentation is implemented (in "Data.Syntax.Indent") - basically
+  a reader category transformer that tracks current indentation level. I plan on implementing Haskell layout rule in the
+  future.
+  .
+  The library can work with both text and binary data. Alas, there are no binary combinators implemented yet.
+  .
+  EXAMPLES! See @syntax-example@ and @syntax-example-json@ for examples.
+  .
+  * "syntax-example" implements a simple lambda calculus.
+  .
+  * "syntax-example-json" implements a json parser and pretty printer.
+license:             MIT
+license-file:        LICENSE
+author:              Paweł Nowak
+maintainer:          Paweł Nowak <pawel834@gmail.com>
+copyright:           Paweł Nowak 2014
+category:            Data
+build-type:          Simple
+cabal-version:       >=1.10
+
+source-repository head
+  type:     git
+  location: git@github.com:Pawel834/syntax.git
+
+library
+  exposed-modules:     Data.Syntax
+                       Data.Syntax.Char
+                       Data.Syntax.Combinator
+                       Data.Syntax.Indent
+  build-depends:       base >= 4 && < 5, mono-traversable, lens >= 4, semi-iso >= 1, scientific >= 0.3, text, vector
+  default-language:    Haskell2010
revision 2
 name:                syntax
 version:             1.0.0.0
-x-revision: 1
+x-revision: 2
 synopsis:            Reversible parsing and pretty-printing.
 description:
-  UPDATE: I have a lot of work now and so I haven't updated the library in a while. However once I get some free time I will probably rewrite it with a new, cleaner design (focused more on adjoints then isomorphisms). Consider this package very experimental :)
   .
   "syntax" allows you to write a single syntax description and instantiate is both as a parser and a pretty printer.
   .