@@ -40,7 +40,7 @@ to be either @R@, @G@ or @B@.
4040
4141Example 2.
4242
43−> "Message" =:= record Both
43+> "Message" =:= record Both Lens
4444> ! "author"
4545> + "recipient"
4646> ? "message" [t|Text|]
@@ -78,9 +78,12 @@ the data type to be generated. The prefix for the record fields is
7878inferred automatically by taking all of the uppercase letters in the
7979name. You can override it manually like so:
8080
81−> "Reference" "ref" =:= record Parser
81+> "Reference" "ref" =:= record Parser Lens
8282> ...
8383
84+Second argument to @record@ either enabled lens generation for records fields
85+or disables it for use with DuplicateRecordFields and, possibly, generic-lens.
86+
8487To describe a record field you must supply its name as it appears
8588in the XML tag, prefixed by its repetition kind:
8689
@@ -93,7 +96,7 @@ The type of the field is inferred automatically from its name, so
9396if the field is called @"author"@ its type will be @Author@. You can
9497override the type by specifying it in quasiquotes like so:
9598
96−> "Message" =:= record Both
99+> "Message" =:= record Both NoLens
97100> ! "author" [t|Person|].
98101> ...
99102
@@ -109,6 +112,7 @@ module Data.THGen.XML
109112 , PrefixName(..)
110113 , ExhaustivenessName(..)
111114 , GenType(..)
115+ , GenerateLens(..)
112116 , record
113117 , enum
114118 , (!)