@@ -5,9 +5,8 @@ description:
55 "syntax" allows you to write a single syntax description and instantiate is both as a parser and a pretty printer.
66 .
77 Syntax descriptions are written in applicative or arrow style. The library uses a custom typeclass hierarchy, provided
8− by the "semi-iso" package. Most of the time you will be using operators like '/$/', '/*/' and '/+/' (= '<|>'), just
9− like parser combinators. When more power is needed - e.g. when the syntax depends on the parsed or printed value -
10− you turn to arrows.
8+ by the "semi-iso" package. Most of the time you will be using operators like '/$/' and '/*/', just like parser combinators.
9+ When more power is needed - e.g. when the syntax depends on the parsed or printed value - you turn to arrows.
1110 .
1211 Semi-isomorphisms from "semi-iso" are the basic building block of syntax descriptions. I recommend reading
1312 the hackage page of "semi-iso" first, as it contains much more information.
@@ -22,8 +21,9 @@ description:
2221 a reader category transformer that tracks current indentation level. I plan on implementing Haskell layout rule in the
2322 future.
2423 .
25− The library can work with both text and binary data. Alas, there are no binary combinators implemented yet.
26− I will implement them when i have the time (but these category transformers look so much more interesting for now ;).
24+ Note that the library can work with both text and binary data. There are no binary combinators implemented - yet.
25+ Alas, these are not only useful combinators missing! I will slowly but steadily implement them over time
26+ (but these category transformers look so much more interesting for now ;).
2727 .
2828 EXAMPLES! See @syntax-example@ and @syntax-example-json@ for examples.
2929 .