Changes between Version 10 and Version 11 of Records/SyntaxDirectedNameResolution
- Timestamp:
- 02/27/12 16:17:16 (16 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Records/SyntaxDirectedNameResolution
v10 v11 109 109 make ghc generate lenses for the fields instead of get functions. 110 110 111 M.hs:112 {{{113 data M.Record = Record { a :: Int } deriving (Lens)114 }}}115 116 Main.hs:117 111 {{{ 118 112 import qualified M 113 -- In M.hs: data Record = Record { a :: Int } deriving (Lens) 119 114 120 115 get :: Lens record field -> record -> field … … 133 128 `set ((#b.#a) record) 42` should become `set ((Inner.b . Outer.a) record) 42` 134 129 135 Outer.hs: 136 {{{ 137 data Outer = Outer { a :: Inner.Inner } deriving (Lens) 138 }}} 139 140 Inner.hs: 141 {{{ 142 data Inner = Inner { b :: Int } deriving (Lens) 143 }}} 144 145 Main.hs: 146 {{{ 130 {{{ 131 import qualified Outer 132 -- Outer.hs: data Outer = Outer { a :: Inner.Inner } deriving (Lens) 133 import qualified Inner 134 -- Inner.hs: data Inner = Inner { b :: Int } deriving (Lens) 135 147 136 -- A lens composition operator. Most lens libraries overload (.) with this, 148 137 -- so we'd either need to make a new operator or move Control.Category into
