Is there some method to construct value for record with lenses without underscore identifiers?
haskell, haskell-lens
Solution
If that makes sense for your type, a `Default` instance might be a good approach. Then you can do
def & a.~1
. b.~2
. c.~3
Problem
For example I have the following record ``` data Rec = Rec { _a :: Int , _b :: Int , _c :: Int } deriving (Show, Eq) makeLenses ''Rec ``` and I see only 2 ways to constuct new values: - `Rec{_a=1,_b=2,_c=3}` - `Rec 1 2 3` The second variant does not look good if the number of record fields is more than a pair and underscores does not look natural in the first one. Are there any other ways to construct record values?